AlgebraicNumber[θ,{c0,c1,…,cn}]
で与えられる体
における代数的数を表す.
AlgebraicNumber
AlgebraicNumber[θ,{c0,c1,…,cn}]
で与えられる体
における代数的数を表す.
詳細
- 同じ体の中のAlgebraicNumberオブジェクトは,算術演算で自動的に結合される.
- 生成元 θ は,根基すなわちRootオブジェクトによって表された任意の代数的数でよい.係数 ciは整数または有理数でなければならない.
- AlgebraicNumberは,θ が代数的整数で ciのリストの長さが θ の最小多項式の次数と等しくなるように自動的に簡約される.
- AlgebraicNumberオブジェクトは常に数量として扱われる.
- NによってAlgebraicNumberオブジェクトの近似数値が求められる.
- AlgebraicNumberオブジェクトに,Abs,Re,Round,Lessのような操作を使うことができる.
- RootReduceを使ってAlgebraicNumberオブジェクトをRootオブジェクトに変換することができる.
- 特定の代数的数を,AlgebraicNumberオブジェクトとして,多数の異なる方法で表すことができる.各表し方は,その体に指定された生成元 θ によって特徴付けられる.
- 整数または有理数を表しているAlgebraicNumberオブジェクトは,自動的に明示的な整数または有理式に簡約される.
例題
すべて開く すべて閉じる例 (1)
スコープ (7)
AlgebraicNumberオブジェクトは任意の精度で評価できる:
N[AlgebraicNumber[Sqrt[2] I, {1, -1}], 50]AlgebraicNumber[3, {1, 2}]AlgebraicNumber[5 / 2, {3, 2}]AlgebraicNumber[θ,{c0,…,cn}]中の生成元 θ は代数的整数に自動的に簡約される:
AlgebraicNumber[(1 + I) / 2, {1, 3}]AlgebraicNumber[Sqrt[Sqrt[2] + 1], {1, 2, 1, 2}]Rootオブジェクト:
AlgebraicNumber[Root[5# ^ 5 + 11# + 1&, 1], {1, 1, 2}]AlgebraicNumberオブジェクト:
AlgebraicNumber[AlgebraicNumber[Root[-3 + #1^3&, 1], {1, 2, 1}], {1, 1, 2}]AlgebraicNumberオブジェクトの係数は整数か有理数である:
AlgebraicNumber[Sqrt[2] + Sqrt[5], {1, 1 / 2}]AlgebraicNumber[3 ^ (1 / 5), {1, 2, 1}]AlgebraicNumber[3 ^ (1 / 5), {1, 2, 1, 3, 3, 1}]AlgebraicNumber[Sqrt[2], {1, 1 / 2}] + AlgebraicNumber[Sqrt[2], {1, 2}]AlgebraicNumber[Sqrt[2], {1, 1 / 2}] * AlgebraicNumber[Sqrt[2], {1, 2}]1 / AlgebraicNumber[Sqrt[2], {1, 1 / 2}]AlgebraicNumber[Sqrt[2], {1, 1 / 2}] ^ 3AlgebraicNumberオブジェクトの操作:
a = AlgebraicNumber[Root[-1 + #1 + #1^3&, 1], {0, -1, 4}]Re[a]Abs[a]Round[a]1 < aアプリケーション (2)
同じ数体におけるAlgebraicNumberオブジェクトの計算は速い:
{a, b, c} = {I, Sqrt[2], Root[#1^3 - 2 #1 + 3&, 1]};{x, y, z} = ToNumberField[{a, b, c}];RootReduce[(-2 y z (7 + x - y + z^2) + (6 + x^2 + 2 y) (-11 + x y + z^2)/2 y z (-4 - x + 3 y z) - (6 + x^2 + 2 y) (2 - 2 x + z^3))]//Timingこの例では,RootReduceは自動的にAlgebraicNumberオブジェクト計算を使う:
{x, y, z} = {a, b, c};RootReduce[(-2 y z (7 + x - y + z^2) + (6 + x^2 + 2 y) (-11 + x y + z^2)/2 y z (-4 - x + 3 y z) - (6 + x^2 + 2 y) (2 - 2 x + z^3))]//TimingRootオブジェクトを使った直接計算と比較する:
RootReduce[(-2 y z (7 + x - y + z^2) + (6 + x^2 + 2 y) (-11 + x y + z^2)/2 y z (-4 - x + 3 y z) - (6 + x^2 + 2 y) (2 - 2 x + z^3)), Method -> "Recursive"]//Timing{x1, y1} = {9, 1};{x2, y2} = {163, 18};a = Last /@ (AlgebraicNumber[Sqrt[82], {x1, y1}] ^ Range[1, 5])b = Last /@ (AlgebraicNumber[Sqrt[82], {x2, y2}] ^ Range[1, 5])Apply[#1 ^ 2 - 82#2 ^ 2 &, a, 1]Apply[#1 ^ 2 - 82#2 ^ 2 &, b, 1]特性と関係 (5)
RootReduceを使って代数的数をRootオブジェクトに変換する:
RootReduce[AlgebraicNumber[Root[# ^ 3 + # + 1&, 3], {1, 2, 1}]]ToNumberFieldを使って,AlgebraicNumberオブジェクトとしてのRootオブジェクトの表現を得る:
ToNumberField[Root[1 + 2#1 + 2#1 ^ 2 + 2#1 ^ 3 + 2#1 ^ 4&, 1]]a = AlgebraicNumber[Root[# ^ 3 + # + 1&, 3], {1, 2, 1}];AlgebraicNumberPolynomial[a, x]a = AlgebraicNumber[Root[# ^ 3 + # + 1&, 3], {1, 1, 1}];AlgebraicNumberNorm[a]AlgebraicNumberTrace[a]a = AlgebraicNumber[Root[# ^ 3 + # + 1&, 3], {1, 1, 1}];MinimalPolynomial[a, x]% /. x -> a考えられる問題 (1)
a = AlgebraicNumber[Root[# ^ 3 + # + 1&, 3], {1, 2, 1}];Re[a]Sqrt[a]RootReduceを使ってAlgebraicNumberに変換する:
ToNumberField[RootReduce[Re[a]]]ToNumberField[RootReduce[Sqrt[a]]]テクニカルノート
-
▪
- 代数的数体
テキスト
Wolfram Research (2007), AlgebraicNumber, Wolfram言語関数, https://reference.wolfram.com/language/ref/AlgebraicNumber.html.
CMS
Wolfram Language. 2007. "AlgebraicNumber." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AlgebraicNumber.html.
APA
Wolfram Language. (2007). AlgebraicNumber. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AlgebraicNumber.html
BibTeX
@misc{reference.wolfram_2026_algebraicnumber, author="Wolfram Research", title="{AlgebraicNumber}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/AlgebraicNumber.html}", note=[Accessed: 16-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_algebraicnumber, organization={Wolfram Research}, title={AlgebraicNumber}, year={2007}, url={https://reference.wolfram.com/language/ref/AlgebraicNumber.html}, note=[Accessed: 16-August-2026]}