AlgebraicIntegerQ
詳細
- AlgebraicIntegerQは,ある数が代数的整数かどうかを調べるために使われる.
- 代数的整数は,整数係数を持ち主係数が1の多項式の根である数である.
- AlgebraicIntegerQ[a]は,a が明らかに代数的整数でなければFalseを返す.
例題
すべて開く すべて閉じる例 (2)
スコープ (4)
AlgebraicIntegerQは整数に使うことができる:
AlgebraicIntegerQ[5]AlgebraicIntegerQ[1.2]AlgebraicIntegerQ[(1 + I) / Sqrt[2]]AlgebraicIntegerQ[Pi]AlgebraicIntegerQ[2 ^ (1 / 3) + 4 ^ (1 / 5) + 17]Rootオブジェクトに使う:
AlgebraicIntegerQ[Root[2#1 ^ 2 - 2 #1 + 7&, 1]]AlgebraicNumberオブジェクトに使う:
AlgebraicIntegerQ[AlgebraicNumber[Sqrt[2], {2, 1}]]AlgebraicIntegerQはリストに縫い込まれる:
AlgebraicIntegerQ[{E, Sqrt[-2], 1 / Sqrt[2]}]アプリケーション (10)
基本的なアプリケーション (2)
randomAlgebraicInteger[n_, m_ : 1] :=
Table[Root[Dot[RandomInteger[20, n], # ^ Range[0, n - 1]] + # ^ n, RandomInteger[{1, n}]], {m}];randomAlgebraicInteger[8, 10]AlgebraicIntegerQ[%]ComplexListPlot[randomAlgebraicInteger[20, 1000]]data = Flatten[Table[Root[# ^ 3 + a * # ^ 2 + b * # + c, m], {a, -10, 10}, {b, -10, 10}, {c, -10, 10}, {m, 3}]];ComplexListPlot[data, PlotRange -> {{-3, 3}, {-3, 3}}, AspectRatio -> 1]特殊数列 (3)
g = Flatten[Table[a + b I, {a, -40, 40}, {b, -40, 40}]];AllTrue[g, AlgebraicIntegerQ]p = Select[g, PrimeQ[#, GaussianIntegers -> True]&];ComplexListPlot[p, PlotRange -> All, PlotMarkers -> {{●, 1}}, Axes -> False, AspectRatio -> 1]アイゼンシュタイン(Eisenstein)整数は
(a と b は整数で ω は1の立方根
)の形式の複素数である:
ω = Exp[2π I / 3];e = Select[Flatten[Table[a + b ω, {a, -30, 30}, {b, -30, 30}], 1], Abs[#] < 20&];AllTrue[e, AlgebraicIntegerQ]primeQ[a_] := Or[PrimeQ[AlgebraicNumberNorm[a]], (PrimeQ[Abs[a]] && Mod[Abs[a], 3] == 2)]primeQ[ω]primeQ[5]primes = Select[e, primeQ];ComplexListPlot[primes, PlotRange -> All, PlotMarkers -> Automatic, Axes -> False, AspectRatio -> 1]Pisot数は1より大きい正の代数的整数で,そのすべての共役元の絶対値は1より小さい [詳細]:
pisotNumberQ[a_] := AlgebraicIntegerQ[a] && Element[a, Reals] && (a > 1) && (Count[List @@ (Last /@ Roots[MinimalPolynomial[a, x] == 0, x]), _ ? (Abs[#] > 1 &)] == 1)pisotNumberQ[GoldenRatio]pisotNumberQ[Root[-1 - #1 + #1 ^ 3 &, 1]]整数論 (5)
すべての有理数 q について
が代数的整数になる非零の整数 n が存在する:
AlgebraicNumberDenominator[1 / 6]AlgebraicIntegerQ[6 * (1 / 6)]Exp[(2Pi Range[0, 6]I) / 6]AlgebraicIntegerQ[%]x /. Solve[x^2 + 2x + 3 == 0, x]AlgebraicIntegerQ[%]x /. Solve[x * y == 1, {x, y}, Integers]{AlgebraicIntegerQ[1], AlgebraicIntegerQ[-1]}{AlgebraicUnitQ[1], AlgebraicUnitQ[-1]}1のベキ根を使ってCyclotomic多項式を求める:
roots = Exp[2 Pi I / Range[5]]MinimalPolynomial[roots, x]Cyclotomic[Range[5], x]特性と関係 (8)
{a, b} = {Sqrt[7], Exp[I Pi / 2]};{AlgebraicIntegerQ[a + b], AlgebraicIntegerQ[a * b]}AlgebraicIntegerQ[Sqrt[2] ^ (4 / 3)]Algebraicsは代数的整数を含むすべての代数的数の領域を表す:
Element[Sqrt[2] ^ 5 + 3 ^ (4 / 7), Algebraics]代数的単数はその数とその逆数の両方が代数的整数である数である:
a = 1 - 6 6 ^ (1 / 3) + 3 36 ^ (1 / 3);AlgebraicIntegerQ [{a, 1 / a}]AlgebraicUnitQ [a]AlgebraicIntegerQ[Root[# ^ 2 - 3 # - 1&, 1]]AlgebraicIntegerQ[Root[# ^ 2 - 3 # - 1&, 2]]MinimalPolynomialを使って代数的整数の最小多項式を求める:
MinimalPolynomial[Sqrt[2], x]x /. Solve[% == 0, x]AlgebraicIntegerQ /@ %NumberFieldIntegralBasisを使って数体の整基底を得る:
a = NumberFieldIntegralBasis[3 ^ (1 / 3)]AlgebraicIntegerQ[a.{1, 2, 3}]a = Root[-2 + 5# ^ 4&, 1];
units = NumberFieldFundamentalUnits[a];AlgebraicIntegerQ[units]テクニカルノート
-
▪
- 代数的数体
テキスト
Wolfram Research (2007), AlgebraicIntegerQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/AlgebraicIntegerQ.html.
CMS
Wolfram Language. 2007. "AlgebraicIntegerQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AlgebraicIntegerQ.html.
APA
Wolfram Language. (2007). AlgebraicIntegerQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AlgebraicIntegerQ.html
BibTeX
@misc{reference.wolfram_2026_algebraicintegerq, author="Wolfram Research", title="{AlgebraicIntegerQ}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/AlgebraicIntegerQ.html}", note=[Accessed: 18-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_algebraicintegerq, organization={Wolfram Research}, title={AlgebraicIntegerQ}, year={2007}, url={https://reference.wolfram.com/language/ref/AlgebraicIntegerQ.html}, note=[Accessed: 18-August-2026]}