代数的数体における多項式

Factorのような関数で多項式の因数分解をするとき,通常,得られる式の係数はすべてが有理数からなるものとする.ただし,オプションExtensionを設定することで係数の存在し得る領域を広げることが可能である.

Factor[poly,Extension->{a1,a2,...}] の有理結合も係数に許容して多項式 poly を因数分解する

代数的数体における多項式の因数分解

係数が有理数しか取れないものとすると,この多項式は因数分解できない.
In[1]:=
Click for copyable input
Out[1]=
係数にを使ってもよいものとすると,因数分解ができるようになる.
In[2]:=
Click for copyable input
Out[2]=
係数にを使ってもよいものとしても,因数分解できる.
In[3]:=
Click for copyable input
Out[3]=
GaussianIntegers->Trueの条件指定はExtension->Sqrt[-1]に等しい.
In[4]:=
Click for copyable input
Out[4]=
の両方を使ってよいものとすれば,この多項式も完全に因数分解できる.
In[5]:=
Click for copyable input
Out[5]=
Expandを作用されると,もとの式が得られる.
In[6]:=
Click for copyable input
Out[6]=
Factor[poly,Extension->Automatic]poly の係数が代数的数になり得るものとして,多項式 poly を因数分解する

代数的数を係数とする因数分解

係数にを持つ多項式を例に使う.
In[7]:=
Click for copyable input
Out[7]=
Factorのデフォルト設定だと,因数分解してくれない.
In[8]:=
Click for copyable input
Out[8]=
代数的数を係数に使うように指定すれば,を使い分解可能になる.
In[9]:=
Click for copyable input
Out[9]=

他の多項式に関する関数もFactorと同じように機能する.つまり,特に条件を指定しなければ代数的数は単なるシンボルとして扱われ,係数が有理整数において操作可能である.それに対し,Extension->Automaticとオプション設定をすれば,係数の表現に代数的数を使った変形操作が可能となる.

デフォルト設定では,これらの多項式はCancelでは約分できない.
In[10]:=
Click for copyable input
Out[10]=
代数的数を許すと,約分できるようになる.
In[11]:=
Click for copyable input
Out[11]=
デフォルト設定では,PolynomialLCMで共通な因数は見付けられない.
In[12]:=
Click for copyable input
Out[12]=
今度は,見付けられる.
In[13]:=
Click for copyable input
Out[13]=
IrreduciblePolynomialQ[poly,ExtensionAutomatic]polypoly の係数により拡張された有理体上の既約多項式かどうかを判定する
IrreduciblePolynomialQ[poly,Extension->{a1,a2,...}]polypoly の係数と により拡張された有理体上で既約であるかどうかを判定する
IrreduciblePolynomialQ[poly,ExtensionAll] すべての複素数体上での既約性を判定する

既約性の判定

ある多項式が体の係数を持つ2つの非定数多項式の積として表すことができない場合,その多項式は上で既約である.

デフォルトでは,代数的数は独立変数として扱われる.
In[14]:=
Click for copyable input
Out[14]=
Sqrt[2]により拡張された有意数体上では,この多項式は可約である.
In[15]:=
Click for copyable input
Out[15]=
以下の多項式は有理数体上では既約である.
In[16]:=
Click for copyable input
Out[16]=
Sqrt[3]により拡張された有理数体上では,可約である.
In[17]:=
Click for copyable input
Out[17]=
この多項式はすべての複素数体上では既約である.
In[18]:=
Click for copyable input
Out[18]=
New to Mathematica? Find your learning path »
Have a question? Ask support »