代数的数体
Wolfram言語では代数的数をRootオブジェクトとして表現することができる.Rootオブジェクトは代数的数の最小多項式と根番号(Rootオブジェクトが最小多項式のどの根を表しているのかを示す整数)を含んでいる.これにより,任意の複素代数的数の表現が一意的となる.一方で,この表現での演算操作はコストが高いという問題もある.そのため,Wolfram言語では演算式の簡約化のために追加の関数RootReduceを使用することが必要となる.計算を固定された有理数の有限次代数拡大 内に限定することで,その要素を の多項式としてより簡単に表現することができる.
AlgebraicNumber[θ,{c0,c1,…,cn}] | で代数的数 を表す |
任意の代数的数 および任意の実数のリスト に対して,AlgebraicNumber[θ,{c0,…,cl}]を評価すると,AlgebraicNumber[ξ,{d0,…,dm}]になる.ここで は, の最小多項式の主係数の任意の因子 について となるような代数的整数, は の最小多項式の次数,そして以下が成り立つ.
ToNumberField[a,θ] | θ により生成された数体上で代数的数 a を表す |
ToNumberField[{a1,a2,…},θ] | θ により生成された体上で ai を表す |
ToNumberField[{a1,a2,…}] | 単独の代数的数により生成された共通の拡大体上で ai を表す |
有理数の固定の有限拡大体内での計算は,複素代数的数すべての体の中での計算より格段に速い.
ToNumberField[{a1,a2,…}]はToNumberField[{a1,a2,…},Automatic]と等価であり,必ずしも最小共通拡大体は使わない.ToNumberField[{a1,a2,…},All]は常に最小共通拡大体を使う.
MinimalPolynomial[a] | 代数的数 a の整数の最小多項式の純関数表現を返す |
MinimalPolynomial[a,x] | x の多項式として表された代数的数 a の最小多項式を返す |
AlgebraicIntegerQ[a] | 代数的数 a が代数的整数ならTrueを,さもなければFalseを返す |
AlgebraicNumberDenominator[a] | na が代数的整数となるような最小の正の整数 n を返す |
AlgebraicNumberTrace[a] | 代数的数 a のトレースを返す |
AlgebraicNumberNorm[a] | 代数的数 a のノルムを返す |
AlgebraicUnitQ[a] | 代数的数 a が代数的単数ならばTrueを,それ以外ならFalseを返す |
RootOfUnityQ[a] | 代数的数 a が1のベキ根ならばTrueを,それ以外ならFalseを返す |
代数的数 の最小多項式は,整数係数を持ち,となる最小の正の主係数を持つ最低次の多項式 である.
代数的数はそのMinimalPolynomialがモニックのとき,かつそのときに限り,代数的整数である.
代数的数 a のトレースはMinimalPolynomial[a]のすべての根の和である.
代数的数a のノルムはMinimalPolynomial[a]のすべての根の積である.
と の両方が代数的整数の場合,言い換えるとAlgebraicNumberNorm[a]がまたはの場合かつその場合に限り,代数的数 は代数的単位元となる.
整数 について である場合,かつその場合に限り,代数的数 は1のベキ根である.
MinimalPolynomial[s,x,Extension->a] | |
体 上の代数的数 s の特性多項式を返す | |
MinimalPolynomial[s,x,Extension->Automatic] | |
第1引数により生成された数体上のAlgebraicNumberオブジェクト s の特性多項式を返す | |
AlgebraicNumberTrace[a,Extension->θ] | |
体 上の代数的数 a のトレースを返す | |
AlgebraicNumberTrace[a,Extension->Automatic] | |
第1引数により生成された数体上のAlgebraicNumberオブジェクト a のトレースを返す | |
AlgebraicNumberNorm[a,Extension->θ] | |
体 上の代数的数 a のノルムを返す | |
AlgebraicNumberNorm[a,Extension->Automatic] | |
第1引数により生成された数体上のAlgebraicNumberオブジェクト a のノルムを返す |
a がAlgebraicNumber[θ,coeffs]であるとすると,MinimalPolynomial[a,x,Extension->Automatic]はMinimalPolynomial[a,x]d に等しい.ここで,d はの拡大次数である.
代数的数のトレースは,特性多項式の根の総和である.a がAlgebraicNumber[θ,coeffs]ならば,AlgebraicNumberTrace[a,Extension->Automatic]はd AlgebraicNumberTrace[a]と等しい.ここで d はの拡大次数である.
代数的数のノルムは,特性多項式の根の総積である.a がAlgebraicNumber[θ,coeffs]なら,AlgebraicNumberNorm[a,Extension->Automatic]はAlgebraicNumberNorm[a]dに等しい.ここで d はの拡大次数である.
NumberFieldIntegralBasis[a] | 代数的数 a により生成された体の整数底を返す |
NumberFieldRootsOfUnity[a] | 代数的数 a により生成された体の1のベキ根を返す |
NumberFieldFundamentalUnits[a] | 代数的数 a により生成された体の基本単位元のリストを返す |
NumberFieldNormRepresentatives[a,m] | |
代数的数 a により生成された体におけるノルム±m の代数的整数のクラスの代表値を返す | |
NumberFieldSignature[a] | 代数的数 a により生成された体のシグネチャを返す |
NumberFieldDiscriminant[a] | 代数的数 a により生成された体の判別式を返す |
NumberFieldRegulator[a] | 代数的数 a により生成された体の基準を返す |
NumberFieldClassNumber[a] | 代数的数 aにより生成された数体のクラス数 |
代数体 の整数底は, の代数的整数の‐加群の底を形成する代数的数のリストである. が代数的整数であり,すべての代数的整数 が次のように一意的に表せるとき,かつその場合に限り,集合は代数体 の整数底である.
が代数的単位元であり,すべての代数的単位元 が次のように一意的に表される場合,かつその場合に限り,は代数体 の基本単位元である.
数体 の判別式は の整数底の判別式,つまり要素がAlgebraicNumberTrace[ai aj,Extension->Automatic]である行列の判別式である.判別式の値は,整数底の値に依存しない.