Stavo giocando con il (bellissimo) polinomio x^4 - 10x^2 + 1
. Guardate cosa succede:Mathematica FullSimplify [Sqrt [5 + 2 Sqrt [6]]] produce Sqrt [2] + Sqrt [3] ma FullSimplify [-Sqrt [5 + 2 Sqrt [6]]] non è semplificato, perché?
In[46]:= f[x_] := x^4 - 10x^2 + 1
a = Sqrt[2];
b = Sqrt[3];
Simplify[f[ a + b]]
Simplify[f[ a - b]]
Simplify[f[-a + b]]
Simplify[f[-a - b]]
Out[49]= 0
Out[50]= 0
Out[51]= 0
Out[52]= 0
In[53]:= Solve[f[x] == 0, x]
Out[53]= {{x->-Sqrt[5-2 Sqrt[6]]},{x->Sqrt[5-2 Sqrt[6]]},{x->-Sqrt[5+2 Sqrt[6]]},{x->Sqrt[5+2 Sqrt[6]]}}
In[54]:= Simplify[Solve[f[x] == 0, x]]
Out[54]= {{x->-Sqrt[5-2 Sqrt[6]]},{x->Sqrt[5-2 Sqrt[6]]},{x->-Sqrt[5+2 Sqrt[6]]},{x->Sqrt[5+2 Sqrt[6]]}}
In[55]:= FullSimplify[Solve[f[x] == 0, x]]
Out[55]= {{x->Sqrt[2]-Sqrt[3]},{x->Sqrt[5-2 Sqrt[6]]},{x->-Sqrt[5+2 Sqrt[6]]},{x->Sqrt[2]+Sqrt[3]}}
Sqrt[5-2 Sqrt[6]]
è pari a Sqrt[3]-Sqrt[2]
.
Tuttavia, Mathematica FullSimplify
non semplifica Sqrt[5-2 Sqrt[6]]
.
Domanda: Devo utilizzare altre funzioni più specializzate per risolvere algebricamente l'equazione? Se sì, quale?
LeafCount @ Sqrt [5-2 Sqrt [6]] dà 13, e LeafCount [Sqrt [3] - Sqrt [2]] fornisce anche 13. Prova a utilizzare ComplexityFunction per Simplify per personalizzare ciò che è considerato più semplice per te. Penso che Mathematica utilizzi LeafCount per impostazione predefinita. – Nasser
@ NasserM.Abbasi Dalla _GuideBook per Symbolics_: "Il significato di' Automatic' nell'opzione di opzione 'ComplexityFunction' è fondamentalmente per minimizzare il' LeafCount'. Alcune eccezioni sono fatte per i numeri. " Ad esempio, 'Semplifica [Exp [Log [12] + 13 (Sqrt [2] + 1)^2 Log [6] - 2 * 13 Sqrt [2] Log [6]]]' non è un 'intero'. , anche se 'Integer's ha' LeafCount' '1'. –
Non c'è bisogno di includere la risposta nella domanda ;-) –