나는 (아름다운) 다항식 x^4 - 10x^2 + 1
을 가지고 노는 중이 었습니다. 무슨 봐 :Mathematica FullSimplify [Sqrt [5 + 2 Sqrt [6]]는 Sqrt [2] + Sqrt [3]를 산출하지만 FullSimplify [-Sqrt [5 + 2 Sqrt [6]]는 단순화되지 않는다.
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]]
하는 Sqrt[3]-Sqrt[2]
과 같다.
그러나 Mathematica의 FullSimplify
은 Sqrt[5-2 Sqrt[6]]
을 단순화하지 않습니다.
질문 : 방정식을 대수적으로 풀려면 다른보다 특수화 된 함수를 사용해야합니까? 그렇다면 어느 것입니까?
LeafCount [5 - 2 SQRT [6] (13)를 제공하고, LeafCount [SQRT [3] - Sqrt [2]]는 또한 13을 제공합니다. Simplify를 위해 ComplexityFunction을 사용해보십시오. Mathematica는 기본적으로 LeafCount를 사용합니다. – Nasser
@ NasserM.Abbasi _GuideBook for Symbolics_에서 : "ComplexityFunction' 옵션 설정에서'Automatic'의 의미는 기본적으로'LeafCount'를 최소화하는 것입니다. 숫자에는 예외가 있습니다." 예를 들어'Simplify [Exp [Log [12] + 13 (Sqrt [2] + 1)^2 Log [6] - 2 * 13 Sqrt [2] Log [6]]]'는 정수가 아닙니다. 'Integer'는'LeafCount'가 '1'입니다. –
질문에 대답을 포함 할 필요가 없습니다 .-) –