代数的数体
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] | |
体 ![]() | |
MinimalPolynomial[s,x,Extension->Automatic] | |
第1引数により生成された数体上のAlgebraicNumberオブジェクト s の特性多項式を返す | |
AlgebraicNumberTrace[a,Extension->θ] | |
体 ![]() | |
AlgebraicNumberTrace[a,Extension->Automatic] | |
第1引数により生成された数体上のAlgebraicNumberオブジェクト a のトレースを返す | |
AlgebraicNumberNorm[a,Extension->θ] | |
体 ![]() | |
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 により生成された体![]() |
NumberFieldFundamentalUnits[a] | 代数的数 a により生成された体![]() |
NumberFieldNormRepresentatives[a,m] | |
代数的数 a により生成された体![]() | |
NumberFieldSignature[a] | 代数的数 a により生成された体![]() |
NumberFieldDiscriminant[a] | 代数的数 a により生成された体![]() |
NumberFieldRegulator[a] | 代数的数 a により生成された体![]() |
NumberFieldClassNumber[a] | 代数的数 aにより生成された数体![]() |
代数体 の整数底は,
の代数的整数の
‐加群の底を形成する代数的数のリストである.
が代数的整数であり,すべての代数的整数
が次のように一意的に表せるとき,かつその場合に限り,集合
は代数体
の整数底である.
が代数的単位元であり,すべての代数的単位元
が次のように一意的に表される場合,かつその場合に限り,
は代数体
の基本単位元である.
数体 の判別式は
の整数底
の判別式,つまり要素がAlgebraicNumberTrace[ai aj,Extension->Automatic]である行列の判別式である.判別式の値は,整数底の値に依存しない.