AlgebraicIntegerQ
更多信息
- AlgebraicIntegerQ 通常用于检验一个数是否为代数整数.
- 代数整数是一个数值,它是具有整数系数和首项系数1的多项式的根.
- 除非 a 是明显的代数整数,否则 AlgebraicIntegerQ[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]艾森斯坦整数是形如
的复数,其中 a 和 b 是整数,ω 是三次单位根
:
ω = 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]皮索数是大于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]}使用单位根来求 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 语言. 2007. "AlgebraicIntegerQ." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/AlgebraicIntegerQ.html.
APA
Wolfram 语言. (2007). AlgebraicIntegerQ. Wolfram 语言与系统参考资料中心. 追溯自 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: 15-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: 15-August-2026]}