代数数域
Mathematica 以 Root 对象的形式表示代数数(algebraic number). 一个 Root 对象包含了代数数的最小多项式和根数(root number). 根数是一个整数,用于表明 Root 对象所表示的是最小多项式的哪个根. 这样是为了使任意复数代数数的表示唯一. 一个缺点是用这样的表示进行代数运算要付出很大的代价. 这也是为什么 Mathematica 要求使用一个附加的函数,RootReduce,来简化运算表达式. 将计算限制在有理数的一个固定的有限的代数扩张(algebraic extension)
内,可以将其中的元素更加方便地表示为关于
的一个多项式.
以有理数有限扩张的元素的形式表示代数数.
若

为一
代数整数,具有次数为

的最小多项式,且

、...、

为有理数,则
AlgebraicNumber[
, {c0, ..., cl}] 为一无功能数字对象(inert numeric object).
| Out[1]= |  |
| Out[2]= |  |
对于任何代数数
和有理数列表
、...、
,AlgebraicNumber[
, {c0, ..., cl}] 计算给出AlgebraicNumber[
, {d0, ..., dm}],其中
是一个代数整数,对于
的最小多项式的首系数的某个因子
,满足
,
是
的最小多项式的次数,且
| Out[3]= |  |
| Out[4]= |  |
| Out[5]= |  |
| Out[6]= |  |
以代数数域元素的形式表示任意代数数.
| Out[7]= |  |
这里将

用
Root[1-10 #12+#14&, 4] 生成的一个域元素表示.
| Out[8]= |  |
与在全体复数代数数域上进行运算相比,在有理数的一个固定的有限扩张上进行运算要快得多.
| Out[10]= |  |
一个较快的方法是在包含

的一个公共代数数域内进行计算.
| Out[11]= |  |
| Out[12]= |  |
| Out[13]= |  |
ToNumberField[{a1, a2, ...}] 等价于 ToNumberField[{a1, a2, ...}, Automatic],它不一定使用最小公共域扩张. 而 ToNumberField[{a1, a2, ...}, All] 始终使用最小公共域扩张.
| Out[14]= |  |
| Out[15]= |  |
计算代数数性质的函数.
一个代数数
的最小多项式是一个带有整数系数和最小整数首系数的次数最低的多项式
,使得
.
这里给出了以纯函数表示的

的最小多项式.
| Out[16]= |  |
这里给出了以关于

的多项式表示的
Root[#15-2 #1+7&, 1]2+1 的最小多项式.
| Out[17]= |  |
当且仅当一个代数数的 MinimalPolynomial 首一(monic)时,该代数数为代数整数.
此处表明

为一代数整数.
| Out[18]= |  |
此处表明

不是代数整数.
| Out[19]= |  |
这里给出使

为一代数整数的最小正整数

.
| Out[20]= |  |
一个代数数
的迹是 MinimalPolynomial[a] 的全体根之和.
这里得到了

的迹.
| Out[21]= |  |
一个代数数
的范数是 MinimalPolynomial[a] 的全体根的乘积.
这里得到了

的范数.
| Out[22]= |  |
当且仅当
和
均为代数整数,或者等价地,当且仅当 AlgebraicNumberNorm[a] 为
或
时,代数数
是一个代数单位元.
| Out[23]= |  |
| Out[24]= |  |
当且仅当存在一个整数
使得
时,代数数
是一个单位根.
这里表明

是一个单位根.
| Out[25]= |  |
计算代数数域的元素性质的函数.
若 a 为 AlgebraicNumber[
, coeffs],则 MinimalPolynomial[a, x, Extension->Automatic] 等于 MinimalPolynomial[a, x]d,其中 d 是
的扩张次数.
| Out[26]= |  |
| Out[26]= |  |
一个代数数的迹是其特征多项式全体根之和. 如果 a 为 AlgebraicNumber[
, coeffs],则AlgebraicNumberTrace[a, Extension->Automatic] 等于 d AlgebraicNumberTrace[a],其中 d 为
的扩张次数.
| Out[27]= |  |
| Out[27]= |  |
一个代数数的范数是其特征多项式全体根之积. 如果 a 为 AlgebraicNumber[
, coeffs],则 AlgebraicNumberNorm[a, Extension->Automatic] 等于 AlgebraicNumberNorm[a]d,其中 d 为
的扩张次数.
| Out[28]= |  |
| Out[28]= |  |
计算代数数域性质的函数.
一个代数数域
的整基是一个代数数列表,该列表形成
的代数整数的
-模的一个基. 集合
是一个代数数域
的一个整基的充要条件是
为代数整数,并且每一个代数整数
都能够唯一地表示成
其中
为整数系数.
这是

的一个整基.
| Out[29]= |  |
此处给出由

的第一个根所生成的域的一个整基.
| Out[30]= |  |
| Out[31]= |  |
这里给出由
Root[9-2 #2+#4&, 4] 生成的域的单位根.
| Out[32]= |  |
这里是域

内的所有单位根.
| Out[33]= |  |
是一个代数数域
的基本单位列表的充要条件是
为代数单位,并且每个代数单位
都能够被唯一地表示成带有一个单位根
和整数指数
的
的形式.
这里是由

的第三个根生成的域的基本单元的集合.
| Out[34]= |  |
这里给出二次域

的一个基本单元.
| Out[35]= |  |
这里给出由

生成的域中范数9的元素的类的代表元的集合.
| Out[36]= |  |
这是域

内范数2的元素的类的代表元的集合.
| Out[37]= |  |
此处表明多项式

有1个实根和2个复根共轭对.
| Out[38]= |  |
此处表明域

有12个实数嵌入(real embedding)和6个复数嵌入(complex embedding)共轭对.
| Out[39]= |  |
一个数域
的判别式是
的一个整基
的判别式(即元素为AlgebraicNumberTrace[ai aj, Extension->Automatic] 的矩阵的行列式式). 行列式的值与整基的选择无关.
这是

的判别式.
| Out[40]= |  |
| Out[41]= |  |
数域
的调节子是
在对数嵌入
下的单位群的像的点格体积,这里
、...、
为
在
上的实数嵌入,
、...、
为
在
上复数嵌入的每一个共轭对之一.
这是

的调节子.
| Out[42]= |  |
| Out[43]= |  |
这里给出了

的类数.
| Out[44]= |  |