- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数域上整体类域论的应用数域上整体类域论的应用
数域上的整体类域论
一 概述
本文主要阐述Magma程序中关于代数数论中经典理论类域论的方面的程序. 主要内容来自悉尼大学Claus Fieker教授写的Applications of the Class Field Theory of
Global Fields.
本文假设读者已经熟悉Magma的基本应用.
整体类域论提供了代数数域的有限abelian扩张的一种描述. 我们用Magma将这个过程完整描述出来, 给学习和使用类域论的读者提供参考.
二 建立数域
一个数域是有理数域Q的一个有限扩张.
让我们首先来建立一个代数数域. 一个代数数域是一个有理数域的有限扩张, 因此我们首先定义有理数域.
Q:=Rational();
其次, 一个代数数域需要有一个多项式不可约来定义, 因此我们先定义多项式环.
Qtt:=PolynomialRing(Q);
现在我们来定义代数数域Q(25^(1/3)).
Ka:=NumberField(t^3-25);
这样Ka就是我们要建立的代数数域了.
我们来试验一下.
a^3;
25
a^23-25*a;
6103515625*a^2-25*a
我们会发现a=25^(1/3).
接下来的问题自然是如何求K的整舒环和整基了. Magma提供了现成的程序.
Z_K:=RingOfIntegers(K);
Basis(Z_K,K);
[
1,
a,
1/5*a^2
]
这样我们得到了O_K的基. 在Magma中O_K中的数是在这个基底下的一个向量, 而K中的元素是关于a的一个多项式. 这两者表示的方式不一样. 下面是一个例子.
Z_K![1,2,3];
[1, 2, 3]
$1/1;
Z_K.1 + 2/1*Z_K.2 + 3/1*Z_K.3
K!$1;
1/5*(3*a^2 + 10*a + 5)
Z_K!$1;
[1, 2, 3]
上面的例子中$1表示上一个运算结果, 相当于Mathematica中的%. K!$1 表示把$1转换成K中的元素. 怎么样, 大家能够读懂这段代码吧.
我们也可以试验一下整环中的运算.
m:=Z_K![1,2,3];
n:=Z_K![2,3,4];
[m+n, m*n];
[[3,5,7],[87,19,40]]
大家可以自行验证这个计算结果的正确性.
现在我们来考虑K上的代数扩张. 比如我们来对K坐分圆扩张.
Ez:=NumberField(Polynomial(K,CyclotomicPolynomial(3)));
E;
E:Maximal;
Ez
|
|
K
|
|
Q
E : $.1^2 + $.1 + 1
4
K : t^3 - 25E : $.1^2 + $.1 + 1
这里输出的$.1表示E在K上的生成元。
下面我们来举一个相对范数和绝对范数的求法的一个例子。
Norm(z+a);
a^2-a+1
Norm(z+a, Q);
676
Norm(z+a, E);
z+a
由于此时Z_K不是主理想整环, 所以我们Z_E并不是一个自由Z_K模。 所以我们类似定义Z_E在Z_K上面的整基是很困难的。Magma的方法主要是返回到Q的扩张上看。
E_Q := AbsoluteField(E);
E_Q:Maximal;
5
E_Q
|
|
Q
E_Q : t^6 + 3*t^5 + 6*t^4 - 43*t^3 - 69*t^2 + 78*t + 676
Z_E_Q := MaximalOrder(E_Q);
Z_E ! Z_E_Q.3;
[[0, 0, 1], [0, 0, 0]]
E_Q ! $1;
1/4680*(-25*E_Q.1^5 - 62*E_Q.1^4 - 124*E_Q.1^3 + 1439*E_Q.1^2
+ 1426*E_Q.1 - 1612)
这样我们就能够表达Z_E中的元素了。
二 类群
下面我们来求K的理想类群。算法详见Claus Fieker教授的教材。我们这里只写代码。
K := NumberField(x^2-10);
Z_K := RingOfIntegers(K);
Cl, mCl := ClassGroup(Z_K);
Cl;
Abelian Group isomorphic to Z/2
Defined on 1 generator
Relations:
2*Cl.1 = 0
mCl;
我们可以看到Z_K的理想类群是一个秩为2的有限abel群。理想类群返回两个元素, 一个是一个群, 另外一个是一个从这个有限群到K的理想类的一个映射。比方说我们来看看这个群的生成元Cl.1对应的像。
I
文档评论(0)