序与相对扩张

数字字段中的订单

秩序 在数字字段中 \(K\) 是的子环 \(K\) 谁的军衔超过了 \(\ZZ\) 等于 \(K\) . 例如,如果 \(K=\QQ(\sqrt{{-1}})\) 然后 \(\ZZ[7i]\) 有订单吗 \(K\) . 一个好的第一个练习是证明一个序的每个元素都是一个代数整数。

sage: K.<I> = NumberField(x^2 + 1)
sage: R = K.order(7*I)
sage: R
Order in Number Field in I with defining polynomial x^2 + 1
sage: R.basis()
[1, 7*I]

使用 discriminant 命令,我们计算这个顺序的判别式

sage: factor(R.discriminant())
-1 * 2^2 * 7^2

用给定生成元构造序

你可以给出数字域的任何元素列表,它将生成最小的环 \(R\) 包含它们。

sage: K.<a> = NumberField(x^4 + 2)
sage: K.order([12*a^2, 4*a + 12]).basis()
[1, 4*a, 4*a^2, 16*a^3]

如果 \(R\) 不等于数字域的度数(即。, \(R\) 不是订单),则会收到一条错误消息。

sage: K.order([a^2])
Traceback (most recent call last):
...
ValueError: the rank of the span of gens is wrong

计算最大阶数

我们也可以使用 maxima order 命令,在幕后找到了一个完整的基础上使用巴黎 nfbasis 命令。例如, \(\QQ(\sqrt[4]{{2}})\) 具有最大阶数 \(\ZZ[\sqrt[4]{{2}}]\) 如果 \(\alpha\) 是的根 \(x^3 + x^2 - 2x+8\) 然后 \(\QQ(\alpha)\) 具有最大阶 \(\ZZ\) -依据

\[1、frac{1}{2}a^{2}+frac{1}{2}a,a^{2}。\]
sage: K.<a> = NumberField(x^4 + 2)
sage: K.maximal_order().basis()
[1, a, a^2, a^3]
sage: L.<a> = NumberField(x^3 + x^2 - 2*x+8)
sage: L.maximal_order().basis()
[1, 1/2*a^2 + 1/2*a, a^2]
sage: L.maximal_order().basis()[1].minpoly()
x^3 - 2*x^2 + 3*x - 10

非最大阶的函数是最小的

对于非最大阶数的计算,Sage还缺少许多重要的功能。例如,Sage中根本不支持模在阶上或理想在非极大阶上的计算。

sage: K.<a> = NumberField(x^3 + 2)
sage: R = K.order(3*a)
sage: R.ideal(5)
Traceback (most recent call last):
...
NotImplementedError: ideals of non-maximal orders not
yet supported.

相对扩展

A 相对数字段 \(L\) 是窗体的数字字段 \(K(\alpha)\) 在哪里 \(K\) 是一个数字字段 绝对数字段 数字字段以数字形式表示 \(\QQ(\alpha)\) . 根据本原元定理,任何相对数域 \(K(\alpha)\) 可以写成 \(\QQ(\beta)\) 对某些人来说 \(\beta\in L\) . 然而,在实际操作中,它往往便于查看 \(L\) 作为 \(K(\alpha)\) . 在 符号表达式 ,我们构造了数字域 \(\QQ(\sqrt{{2}})(\alpha)\) 在哪里 \(\alpha\) 是的根 \(x^3 + \sqrt{{2}} x + 5\) ,但是 not 作为一个相对字段,我们只得到了由 \(x^6 + 10x^3 - 2x^2 + 25\) .

逐步构造相对数域

要将这个数域构造为相对数域,首先让 \(K\)\(\QQ(\sqrt{{2}})\) .

sage: K.<sqrt2> = QuadraticField(2)

接下来我们创建一元多项式环 \(R = K[X]\) . 在Sage中,我们通过键入 R.<X> = K[] . 在这里 R.<X> 意思是“创建对象” \(R\) 带发电机 \(X\) “和 K[] 意思是“多项式环 \(K\) ,其中生成器基于上述命名 \(X\) (在两个变量中创建多项式环 \(X,Y\) 只需更换 R.<X> 通过 R.<X,Y>

sage: R.<X> = K[]
sage: R
Univariate Polynomial Ring in X over Number Field in sqrt2 with defining polynomial x^2 - 2 with sqrt2 = 1.414213562373095?

现在我们可以在数域上做一个多项式 \(K=\QQ(\sqrt{{2}})\) ,并构造 \(K\) 通过将该多项式的根邻接到 \(K\) .

sage: L.<a> = K.extension(X^3 + sqrt2*X + 5)
sage: L
Number Field in a with defining polynomial X^3 + sqrt2*X + 5...

最后, \(L\) 是数字字段 \(\QQ(\sqrt{{2}})(\alpha)\) 在哪里 \(\alpha\) 是的根 \(X^3 + \sqrt{{2}}\alpha + 5\) . 我们现在可以在这个数字域做算术,当然包括 \(\sqrt{{2}}\) 在表达式中。

sage: a^3
-sqrt2*a - 5
sage: a^3 + sqrt2*a
-5

相对数域上的函数

相对数字段 \(L\) 也有许多功能,其中许多既有相对版本,也有绝对版本。例如 relative_degree 作用于 \(L\) 返回的相对度数 \(L\) 结束 \(K\) ;程度 \(L\) 结束 \(\QQ\) 是由 absolute_degree 功能。避免可能的歧义 degree 不为相对数字段实现。

sage: L.relative_degree()
3
sage: L.absolute_degree()
6

相对数域的额外结构

给定任何相对数域,也可以是与其同构的绝对数域。下面我们创造 \(M = \QQ(b)\) ,它同构于 \(L\) 但绝对是场 \(\QQ\) .

sage: M.<b> = L.absolute_field()
sage: M
Number Field in b with defining
polynomial x^6 + 10*x^3 - 2*x^2 + 25

这个 structure 函数返回 \(M\)\(L\) .

sage: M.structure()
(Isomorphism map:
  From: Number Field in b with defining polynomial x^6 + 10*x^3 - 2*x^2 + 25
  To:   Number Field in a with defining polynomial X^3 + sqrt2*X + 5 over its base field, Isomorphism map:
  From: Number Field in a with defining polynomial X^3 + sqrt2*X + 5 over its base field
  To:   Number Field in b with defining polynomial x^6 + 10*x^3 - 2*x^2 + 25)

相对数域的任意塔

在Sage中,可以创建任意的相对数域塔(不像Pari,相对扩展必须是绝对域的单个扩展)。

sage: R.<X> = L[]
sage: Z.<b> = L.extension(X^3 - a)
sage: Z
Number Field in b with defining polynomial X^3 - a over its base field
sage: Z.absolute_degree()
18

注解

练习:构造相对数字段 \(L = K(\sqrt[3]{{\sqrt{{2}}+\sqrt{{3}}}})\) 在哪里 \(K=\QQ(\sqrt{{2}}, \sqrt{{3}})\) .

相对数字段运算可能会很慢

Sage中相对扩展的一个缺点是,在幕后所有的算法都是用一个绝对定义多项式来完成的,在某些情况下,这可能非常慢(比Magma慢得多)。也许这可以通过使用奇异的多元多项式模化一个适当的理想来解决,因为奇异多项式算法非常快。而且,Sage对构造类场理论的直接支持非常少,这是相对阶显式计算的一个主要动机;在这方面,最好公开Pari的更多功能。