Path: blob/develop/src/doc/zh/constructions/elliptic_curves.rst
4086 views
.. index:: elliptic curves ******** 椭圆曲线 ******** 导子 ==== 如何在 Sage 中计算椭圆曲线(在 `\QQ` 上)的导子? 在 Sage 中使用 ``EllipticCurve`` 命令定义椭圆曲线 `E` 后, 导子就是与 `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`-不变量 ========== 如何在 Sage 中计算椭圆曲线的 `j`-不变量? 与 ``EllipticCurve`` 类相关的其他方法包括 ``j_invariant``, ``discriminant`` 和 ``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 .. index:: elliptic curves E 上的 `GF(q)`-有理点 ===================== 如何计算有限域上椭圆曲线的点数? 给定一个定义在 `\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)] .. index:: pair: modular form; elliptic curve 与 `\QQ` 上椭圆曲线相关的模形式 =============================== 设 `E` 是一个“良好”的椭圆曲线,其方程具有整数系数。 设 `N` 为 `E` 的导子,并且对于每个 `n`, 设 `a_n` 是出现在 `E` 的 Hasse-Weil `L`-函数中的数字。 Taniyama-Shimura 猜想(已被 Wiles 证明)表明存在一个权重为 2、级别为 `N` 的模形式, 它是 Hecke 算子下的特征形式,并具有傅里叶级数 `\sum_{n = 0}^\infty a_n q^n`。 Sage 可以计算与 `E` 相关的序列 `a_n`。以下是一个示例。 :: 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