代数数域
Wolfram 语言以 Root 对象的形式表示代数数(algebraic number). 一个 Root 对象包含了代数数的最小多项式和根数(root number). 根数是一个整数,用于表明 Root 对象所表示的是最小多项式的哪个根. 这样是为了使任意复数代数数的表示唯一. 一个缺点是用这样的表示进行代数运算要付出很大的代价. 这也是为什么 Wolfram 语言要求使用一个附加的函数,RootReduce,来简化运算表达式. 将计算限制在有理数的一个固定的有限的代数扩张(algebraic extension) 内,可以将其中的元素更加方便地表示为关于 的一个多项式.
AlgebraicNumber[θ,{c0,c1,…,cn}] | 表示 中的代数数 |
对于任何代数数 和有理数列表 、…、,AlgebraicNumber[θ,{c0,…,cl}] 计算给出AlgebraicNumber[ξ,{d0,…,dm}],其中 是一个代数整数,对于 的最小多项式的首系数的某个因子 ,满足 , 是 的最小多项式的次数,且
ToNumberField[a,θ] | 将代数数 a 在 θ 所生成的数域上表示 |
ToNumberField[{a1,a2,…},θ] | 将 ai 在 θ 所生成的域上表示 |
ToNumberField[{a1,a2,…}] | 将 ai 在由单一代数数生成的公共扩张域(common extension field )上表示 |
与在全体复数代数数域上进行运算相比,在有理数的一个固定的有限扩张上进行运算要快得多.
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] | 给出最小正整数 n 使得 na 为一代数整数 |
AlgebraicNumberTrace[a] | 给出代数数 a 的迹(trace) |
AlgebraicNumberNorm[a] | 给出代数数 a 的范数(norm) |
AlgebraicUnitQ[a] | 若代数数 a 为一代数单位元,返回 True,否则返回 False |
RootOfUnityQ[a] | 若代数数 a 是一个单位根,返回 True,否则返回 False |
一个代数数 的最小多项式是一个带有整数系数和最小整数首系数的次数最低的多项式 ,使得 .
当且仅当一个代数数的 MinimalPolynomial 首一(monic)时,该代数数为代数整数.
一个代数数 a 的迹是 MinimalPolynomial[a] 的全体根之和.
一个代数数 a 的范数是 MinimalPolynomial[a] 的全体根的乘积.
当且仅当 和 均为代数整数,或者等价地,当且仅当 AlgebraicNumberNorm[a] 为 或 时,代数数 是一个代数单位元.
MinimalPolynomial[s,x,Extension->a] | |
给出代数数 s 在域 上的特征多项式 | |
MinimalPolynomial[s,x,Extension->Automatic] | |
给出 AlgebraicNumber 对象 s 在由其第一个参数生成的数域上的特征多项式 | |
AlgebraicNumberTrace[a,Extension->θ] | |
给出代数数 a 在域 上的迹 | |
AlgebraicNumberTrace[a,Extension->Automatic] | |
给出 AlgebraicNumber 对象 a 在由其第一个参数生成的数域上的迹 | |
AlgebraicNumberNorm[a,Extension->θ] | |
给出代数数 a 在域 上的范数 | |
AlgebraicNumberNorm[a,Extension->Automatic] | |
给出 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 生成的域 的整基(integral basis) |
NumberFieldRootsOfUnity[a] | 给出由代数数 a 生成的域 的单位根 |
NumberFieldFundamentalUnits[a] | 给出由代数数 a 生成的域 的一个基本单位列表 |
NumberFieldNormRepresentatives[a,m] | |
给出由代数数 a 生成的域 中范式为 ±m 的代数整数类的代表元 | |
NumberFieldSignature[a] | 给出由代数数 a 生成的域 的标记 |
NumberFieldDiscriminant[a] | 给出由代数数 a 生成的域 的判别式 |
NumberFieldRegulator[a] | 给出由代数数 a 生成的域 的调节子 |
NumberFieldClassNumber[a] | 给出由代数数 a 生成的数域 的类数 |
一个代数数域 的整基是一个代数数列表,该列表形成 的代数整数的 ‐模的一个基. 集合 是一个代数数域 的一个整基的充要条件是 为代数整数,并且每一个代数整数 都能够唯一地表示成
是一个代数数域 的基本单位列表的充要条件是 为代数单位,并且每个代数单位 都能够被唯一地表示成带有一个单位根 和整数指数 的
一个数域 的判别式是 的一个整基 的判别式(即元素为AlgebraicNumberTrace[ai aj,Extension->Automatic] 的矩阵的行列式式). 行列式的值与整基的选择无关.