|
NumberTheory`Recognize`
このパッケージは,多項式の近似の実零点と次数が与えられたときに,整数係数を持つ多項式を決定する関数Recognizeを定義する.結果の多項式は通常1種類ではない.

解から多項式を決定する
パッケージをロードする.
In[1]:= << NumberTheory`Recognize`
解が1.7であるtの線形多項式を求める.
In[2]:= Recognize[1.7, 1, t]
Out[2]= 
NSolveは3次方程式の数値解を返す.
In[3]:= NSolve[3 x^3 - 2 x + 5 == 0]
Out[3]= 
1つ目の解.
In[4]:= sol = First[x /. %]
Out[4]= 
この結果はNSolveで使われた元の多項式に比例している.
In[5]:= Recognize[sol, 3, t]
Out[5]= 
solが近似解である2次多項式.
In[6]:= Recognize[sol, 2, t]
Out[6]= 
次の結果は5次の多項式となる.
In[7]:= Recognize[N[Sqrt[3^(2/5)]], 5, t]
Out[7]= 
ペナルティが十分大きければ,より低い次数の多項式が返されることがある.
In[8]:= Recognize[N[Sqrt[3^(2/5)]], 5, t, 10]
Out[8]= 
|