椭圆曲线

导体

如何计算椭圆曲线的导数(上 \(\QQ\) )在Sage?

一旦定义了一条椭圆曲线 \(E\) 在Sage中,使用 EllipticCurve 命令时,指挥器是与 \(E\) 。以下是该语法的一个示例(借用本教程的第2.4节“模块化表单”):

sage: E = EllipticCurve([1,2,3,4,5])
sage: E
Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 over
Rational Field
sage: E.conductor()
10351

\(j\) -不变量

你是如何计算 \(j\) -Sage中椭圆曲线的不变量?

方法关联的其他方法 EllipticCurve 类是 j_invariantdiscriminant ,以及 weierstrass_model 。下面是它们的语法示例。

sage: E = EllipticCurve([0, -1, 1, -10, -20])
sage: E
Elliptic Curve defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational Field
sage: E.j_invariant()
-122023936/161051
sage: E.short_weierstrass_model()
Elliptic Curve defined by y^2  = x^3 - 13392*x - 1080432 over Rational Field
sage: E.discriminant()
-161051
sage: E = EllipticCurve(GF(5),[0, -1, 1, -10, -20])
sage: E.short_weierstrass_model()
Elliptic Curve defined by y^2  = x^3 + 3*x + 3 over Finite Field of size 5
sage: E.j_invariant()
4

这个 \(GF(q)\) -E上的有理点

如何计算有限域上椭圆曲线的点数?

给定一条定义在上的椭圆曲线 \(\mathbb{F} = GF(q)\) ,Sage可以计算它的集合 \(\mathbb{F}\) -有理点

sage: E = EllipticCurve(GF(5),[0, -1, 1, -10, -20])
sage: E
Elliptic Curve defined by y^2 + y = x^3 + 4*x^2 over Finite Field of size 5
sage: E.points()
[(0 : 1 : 0), (0 : 0 : 1), (0 : 4 : 1), (1 : 0 : 1), (1 : 4 : 1)]
sage: E.cardinality()
5
sage: G = E.abelian_group()
sage: G
Additive abelian group isomorphic to Z/5 embedded in Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 + 4*x^2 over Finite Field of size 5
sage: G.permutation_group()
Permutation Group with generators [(1,2,3,4,5)]

与上的椭圆曲线相关的模形式 \(\QQ\)

让我们 \(E\) 是一条方程具有整数系数的“好”的椭圆曲线,让 \(N\) 担任……的指挥 \(E\) 并且,对于每个 \(n\) ,让 \(a_n\) 是出现在Hasse-Weil中的数字 \(L\) -的功能 \(E\) 。谷山-下村猜想(由Wiles证明)指出,存在权重2和水平的模形式 \(N\) 它是Hecke算子下的本征形式,并且具有傅里叶级数 \(\sum_{n = 0}^\infty a_n q^n\) 。Sage可以计算序列 \(a_n\) 关联到 \(E\) 。这里有一个例子。

sage: E = EllipticCurve([0, -1, 1, -10, -20])
sage: E
Elliptic Curve defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational Field
sage: E.conductor()
11
sage: E.anlist(20)
[0, 1, -2, -1, 2, 1, 2, -2, 0, -2, -2, 1, -2, 4, 4, -1, -4, -2, 4, 0, 2]
sage: E.analytic_rank()
0