一般环上的椭圆曲线 #
圣人: 第页 , 一 , b条 = 97 , 1 , 三
圣人: R(右) .< u个 > = GF公司 ( 第页 )[]
圣人: S公司 .< v(v) > = R(右) []
圣人: T型 = S公司 . fraction_field(分数字段) ()
圣人: E类 = 椭圆曲线 ( T型 , [ 一 , b条 ]); E类
单变量分数域上由y^2=x^3+x+3定义的椭圆曲线
大小为97的有限域上u中的一元多项式环上的v中的多项式环
圣人: 乳胶 ( E类 )
y^2=x^{3}+x+3
William Stein(2005):初始版本 Robert Bradshaw等人…。 约翰·克雷莫纳(2008-01):所有特征中的同构、自同构和扭曲 Julian Rueth(2014-04-11):改进缓存 Lorenz Panny(2022-04-14):新增 蒙哥马利模型()
-
班 sage.schemes.elliptic_curves.ell_generic。 椭圆曲线_通用 ( K(K) , 阿尼夫斯 , 类别 = 无 ) # -
一般基环上的椭圆曲线。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 / 4 , 7 , 19 ]); E类 有理域上由y^2+x*y+3/4*y=x^3+2*x^2+7*x+19定义的椭圆曲线 鼠尾草: 荷载 ( E类 . 转储 ()) == E类 真的 圣人: E类 = 椭圆曲线 ([ 1 , 三 ]) 圣人: 对 = E类 ([ - 1 , 1 , 1 ]) 圣人: - 5 * 对 (179051/80089 : -91814227/22665187 : 1) -
a1级 ( ) # 返回 \(a_1\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 6 ]) 圣人: E类 . a1级 () 1
-
a2类 ( ) # 返回 \(a_2) 这个椭圆曲线的不变量。 示例: 鼠尾草: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 6 ]) 圣人: E类 . a2类 () 2
-
a3类 ( ) # 返回 \(a_3\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 6 ]) 圣人: E类 . a3类 () 三
-
a4类 ( ) # 返回 \(a4\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 6 ]) 圣人: E类 . a4类 () 4
-
a6类 ( ) # 返回 \(a_6\) 这个椭圆曲线的不变量。 示例: 鼠尾草: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 6 ]) 圣人: E类 . a6类 () 6
-
a_变体 ( ) # 这个 \(a) -椭圆曲线的不变量,如元组。 输出: (tuple)-的5元组 \(a) -这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . a_变体 () (1, 2, 3, 4, 5) 圣人: E类 = 椭圆曲线 ([ 0 , 1 ]); E类 有理域上由y^2=x^3+1定义的椭圆曲线 圣人: E类 . a_变体 () (0, 0, 0, 0, 1) 鼠尾草: E类 = 椭圆曲线 ([ GF公司 ( 7 )( 三 ), 5 ]) 圣人: E类 . a_变体 () (0, 0, 0, 3, 5)
-
阿尼夫斯 ( ) # 这个 \(a) -椭圆曲线的不变量,如元组。 输出: (tuple)-的5元组 \(a) -这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . a_变体 () (1, 2, 3, 4, 5) 圣人: E类 = 椭圆曲线 ([ 0 , 1 ]); E类 有理域上由y^2=x^3+1定义的椭圆曲线 圣人: E类 . a_变体 () (0, 0, 0, 0, 1) 圣人: E类 = 椭圆曲线 ([ GF公司 ( 7 )( 三 ), 5 ]) 鼠尾草: E类 . a_变体 () (0,0,0,3,5)
-
自同构 ( 领域 = 无 ) # 从返回同构集 自己 (作为列表)。 保证出现同一和否定语态 作为返回列表的第一项和第二项。 输入: 领域 (默认值 无 )–一个字段,其中 曲线的系数可以强制(默认情况下,使用 曲线的基础场)。
输出: (list)列表 魏尔斯特拉斯同构 对象 由曲线的所有同构组成 自己 到 自身定义超过 领域 . 示例: 圣人: E类 = 椭圆曲线_from_j ( QQ(QQ) ( 0 )) #QQ上j=0的曲线 圣人: E类 . 自同构 () [由y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 在有理字段上 通过:(u,r,s,t)=(1,0,0,O), y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 在有理字段上 通过:(u,r,s,t)=(-1,0,0,-1)] 我们还可以找到在扩展字段上定义的自同构: 圣人: x个 = 一夫多妻制 ( ZZ公司 , “x” ) 圣人: K(K) .< 一 > = 数字字段 ( x个 ^ 2 + 三 ) #统一的邻接根#needs sage.rings.number_field 圣人: E类 . 自同构 ( K(K) ) #需要sage.rings.number_field 由y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 定义多项式x^2+3的中的数字字段 通过:(u,r,s,t)=(1,0,0,O), y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 定义多项式x^2+3的中的数字字段 通过:(u,r,s,t)=(-1,0,0,-1), y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 定义多项式x^2+3的中的数字字段 通过:(u,r,s,t)=(-1/2*a-1/2,0,0,O), y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 定义多项式x^2+3的中的数字字段 通过:(u,r,s,t)=(1/2*a+1/2,0,0,-1), 由y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 定义多项式x^2+3的中的数字字段 通过:(u,r,s,t)=(1/2*a-1/2,0,0,O), y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 定义多项式x^2+3的中的数字字段 通过:(u,r,s,t)=(-1/2*a+1/2,0,0,-1)] 圣人: [ 伦恩 ( 椭圆曲线_from_j ( GF公司 ( q个 , “a” )( 0 )) . 自同构 ()) #需要sage.rings.finite_ring ....: 对于 q个 在里面 [ 2 , 4 , 三 , 9 , 5 , 25 , 7 , 49 ]] [2, 24, 2, 12, 2, 6, 6, 6]
-
b2型 ( ) # 返回 \(b2\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . b2型 () 9
-
b4号机组 ( ) # 返回 \(b_4\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . b4号机组 () 11
-
b6号机组 ( ) # 返回 \(b_6\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . b6号机组 () 29
-
b8号机组 ( ) # 返回 \(b_8\) 这个椭圆曲线的不变量。 示例: 鼠尾草: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . b8号机组 () 35
-
b不变量 ( ) # 返回 \(b) -椭圆曲线的不变量,如元组。 输出: (tuple)-的4元组 \(b) -这个椭圆曲线的不变量。 缓存此方法。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 圣人: E类 . b不变量 () (-4, -20, -79, -21) 圣人: E类 = 椭圆曲线 ([ - 4 , 0 ]) 鼠尾草: E类 . b不变量 () (0, -8, 0, -16) 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . b不变量 () (9, 11, 29, 35) 圣人: E类 . b2型 () 9 圣人: E类 . b4号机组 () 11 圣人: E类 . b6号机组 () 29 圣人: E类 . b8号机组 () 35 算法: 这些是 \(a) -不变量。 作者: 威廉·斯坦因(2005-04-25)
-
基本扩展(_E) ( R(右) ) # 返回的基本扩展 自己 到 \(R) . 输入: R(右) –一个环,其中 \(a) -的不变量 自己 可以转换,也可以是 适用于他们。
输出: 新环上的椭圆曲线 \(a) -不变量是 的图像 \(a) -的不变量 自己 . 示例: 圣人: E类 = 椭圆曲线 ( GF公司 ( 5 ), [ 1 , 1 ]); E类 大小为5的有限域上由y^2=x^3+x+1定义的椭圆曲线 圣人: E1级 = E类 . 基本扩展(_E) ( GF公司 ( 125 , “a” )); E1级 #需要sage.rings.finite_ring 在大小为5^3的有限域上由y^2=x^3+x+1定义的椭圆曲线
-
底座(_R) ( ) # 返回椭圆曲线的基环。 示例: 圣人: E类 = 椭圆曲线 ( GF公司 ( 49 , “a” ), [ 三 , 5 ]) #需要sage.rings.finite_ring 圣人: E类 . 底座(_R) () #需要sage.rings.finite_ring 大小为7^2的中的有限字段 圣人: E类 = 椭圆曲线 ([ 1 , 1 ]) 圣人: E类 . 底座(_R) () 有理字段 圣人: E类 = 椭圆曲线 ( ZZ公司 , [ 三 , 5 ]) 圣人: E类 . 底座(_R) () 整数环
-
补体第四成份 ( ) # 返回 \(c_4\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 圣人: E类 . 补体第四成份 () 496
-
c6号机组 ( ) # 返回 \(c_6\) 这个椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 圣人: E类 . c6号机组 () 20008
-
c不变量 ( ) # 返回 \(c) -椭圆曲线的不变量,如元组。 缓存此方法。 输出: (tuple)-的2元组 \(c) -椭圆曲线的不变量。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 鼠尾草: E类 . c不变量 () (496, 20008) 圣人: E类 = 椭圆曲线 ([ - 4 , 0 ]) 圣人: E类 . c不变量 () (192, 0) 算法: 这些是 \(a) -不变量。 作者: 威廉·斯坦因(2005-04-25)
-
更改(_R) ( R(右) ) # 返回的基本更改 自己 到 \(R) . 这与 自.base_extend(R) . 示例: 圣人: #需要sage.rings.finite_ring 圣人: 地上二层 = GF公司 ( 5 ^ 2 , “a” ); 一 = 地上二层 . 消息 () 鼠尾草: 四层 = GF公司 ( 5 ^ 4 , “b” ); b条 = 四层 . 消息 () 鼠尾草: 根 = 一 . 夏普利 () . 根 ( 戒指 = 四层 , 多重性 = False(错误) ) 圣人: 小时 = 地上二层 . 高阶模 ([ 根 [ 0 ]], 四层 ) 圣人: E类 = 椭圆曲线 ( 地上二层 , [ 1 , 一 ]); E类 y^2=x^3+x+a定义的椭圆曲线 大小为5^2的有限域上 圣人: E类 . 更改(_R) ( 小时 ) 由y^2=x^3+x+(4*b^3+4*b*2+4*b+3)定义的椭圆曲线 大小为5^4的b中的有限域
-
更改weierstrass_模型 ( * 爆发 ) # 返回新的Weierstrass模型 自己 标准转换下 \((u,r,s,t)\) \[(x,y)\mapsto(x',y')=(u^2x+r,u^3y+su^2x+t)。\] 示例: 圣人: E类 = 椭圆曲线 ( “15a” ) 圣人: F1 = E类 . 更改weierstrass_模型 ([ 1 / 2 , 0 , 0 , 0 ]); F1 由y^2+2*x*y+8*y=x^3+4*x^2-160*x-640定义的椭圆曲线 在有理字段上 圣人: 地上二层 = E类 . 更改weierstrass_模型 ([ 7 , 2 , 1 / 三 , 5 ]); 地上二层 椭圆曲线由定义 y^2+5/21*x*y+13/343*y=x^3+59/441*x ^2-10/7203*x-58/117649 在有理字段上 圣人: F1 . 是同构的 ( 地上二层 ) 真的
-
鉴别的 ( ) # 返回此椭圆曲线的判别式。 缓存此方法。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , 0 , 1 , - 1 , 0 ]) 圣人: E类 . 鉴别的 () 37 鼠尾草: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 圣人: E类 . 鉴别的 () -161051 圣人: E类 = 椭圆曲线 ([ GF公司 ( 7 )( 2 ), 1 ]) 圣人: E类 . 鉴别的 () 1
-
除法多项式 ( 米 , x个 = 无 , 双扭转多重性 = 2 , 强制评估(_E) = 无 ) # 返回 \(m^{th}\) 这个椭圆的除法多项式 曲线求值于 \(x \) . 如果满足以下条件,则缓存除法多项式 \(x \) 是 无 . 输入: 米 –正整数。 x个 –可选的环形元件,用作 \(x \) 变量。 如果 \(x \) 是 无 (省略),则新的多项式环将为 在椭圆曲线的基环上构造,及其 发电机将用作 \(x \) 。请注意 \(x \) 不需要 是多项式环的生成器; 任何环形元件都起作用。 这个 允许快速计算扭转多项式 评价的 在 环的任何元素。 双扭转多重性 –0、1或2 如果0:偶数 \(米\) 什么时候 \(x \) 是 无 ,一个单变量多项式 在曲线的基环上返回,其中省略了因子 它们的根是 \(x \) -的坐标 \(2\) -扭转点。 何时 \(x \) 不是 无 ,这样一个多项式的求值 \(x \) 返回。 如果2:偶数 \(米\) 什么时候 \(x \) 是 无 ,一元多项式 返回曲线的基环上,其中包括 根为 \(x \) -的坐标 \(2\) -扭转点。 类似地,当 \(x \) 不是 无 ,对这样一个 多项式 \(x \) 返回。 如果1:偶数 \(米\) 什么时候 \(x \) 是 无 ,一个二元多项式 返回曲线的基环上,其中包括 因素 \(2y+a_1x+a_3\) 在 \(2\) -扭转点。 何时 \(x \) 不是 无 ,它应该是长度为2的元组,并且 这样一个多项式的求值 \(x \) 返回。 强制评估(_E) (可选)–0、1或2 默认情况下,此方法使用以前缓存的泛型 除法多项式,以计算多项式的值 给定的元素 \(x \) 只要这样做似乎有益。 显式设置此标志将覆盖默认行为。 请注意,评估通用划分的复杂性 多项式的尺度比计算值的尺度差得多 直接(使用递归公式),因此 设置此标志可能会影响性能。 如果为0:不要使用缓存的泛型除法多项式。 如果1:如果此的泛型除法多项式 \(米\) 已经是 之前缓存过,在 \(x \) 计算结果。 如果2:计算值为 \(x \) 通过评估通用 除法多项式。 如果通用 \(米\) -除法多项式 尚未缓存,请先计算并缓存它。
示例: 圣人: E类 = 椭圆曲线 ([ 0 , 0 , 1 , - 1 , 0 ]) 圣人: E类 . 除法多项式 ( 1 ) 1 圣人: E类 . 除法多项式 ( 2 , 双扭转多重性 = 0 ) 1 圣人: E类 . 除法多项式 ( 2 , 双扭转多重性 = 1 ) 2*y+1 圣人: E类 . 除法多项式 ( 2 , 双扭转多重性 = 2 ) 4*x^3-4*x+1 鼠尾草: E类 . 除法多项式 ( 2 ) 4*x^3-4*x+1 圣人: [ E类 . 除法多项式 ( 三 , 双扭转多重性 = 我 ) 对于 我 在里面 范围 ( 三 )] [3*x^4-6*x^2+3*x-1,3*x ^4-6*x ^2+3*x-1,3*x ^ 4-6*x ^2+3*x-1] 圣人: [ 类型 ( E类 . 除法多项式 ( 三 , 双扭转多重性 = 我 )) 对于 我 在里面 范围 ( 三 )] [<…'sage.rings.polymentary.polymonial_rational_flint.Polymonial_ rational_frint'>, <... ' sage.rings.多项式.多重多项式_libsingular。 MPolynomial_libsingular'>, <... ' sage.rings.polynomial.polynologial_rational_flint。 多项式_rational_flint'>] 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 鼠尾草: R(右) .< z(z) > = 多项式环 ( QQ(QQ) ) 圣人: E类 . 除法多项式 ( 4 , z(z) , 0 ) 2*z^6-4*z^5-100*z^4-790*z^3-210*z^2-1496*z^-5821 圣人: E类 . 除法多项式 ( 4 , z(z) ) 8*z^9-24*z^8-464*z^7-2758*z^6+6636*z^5+34356*z^4 +53510*z^3+99714*z^2+351024*z+459859 这不起作用,因为当two_torsion_multiplicity为1时,我们 计算一个二元多项式,并且必须在 长度2: 圣人: E类 . 除法多项式 ( 4 , z(z) , 1 ) 回溯(最近一次调用): ... ValueError:x应为长度为2(或无)的元组 当two_torsion_multiplicity为1时 圣人: R(右) .< z(z) , 周 > = 多项式环 ( QQ(QQ) , 2 ) 圣人: E类 . 除法多项式 ( 4 , ( z(z) , 周 ), 1 ) . 因素 () (2*w+1)*(2*z^6-4*z^5-100*z^4-790*z^3-210*z^2-1496*z-5821) 我们还可以在以下某个点上计算此二元多项式: 鼠尾草: 对 = E类 ( 5 , 5 ) 鼠尾草: E类 . 除法多项式 ( 4 , 对 , 双扭转多重性 = 1 ) -1771561
-
除法多项式0 ( n个 , x个 = 无 ) # 返回 \(n^{th}\) 扭转(除法)多项式,无 2-扭转系数,如果 \(n\) 是偶数,作为中的多项式 \(x \) . 这些是多项式 \(g_n\) 定义于 【MT1991】 ,但有 标牌翻了个平手 \(n\) ,所以领先系数为 总是积极的。 注意 此功能用于内部使用; 用户应使用 除法多项式() . 另请参见 _multiple_x_numerator() _多个_x_denomator()
输入: n个 –正整数或特殊值 -1 和 -2 这意味着 \(B_6=(2y+a_1x+a_3)^2\) 和 \(B_6^2\) 分别(英寸 符号 【MT1991】 ); 或整数列表。 x个 –用作“x”变量的环元素或 无 (默认值: 无 ). 如果 无 ,则新的多项式环将 被构造在椭圆曲线的基环上,并且其 发电机将用作 x个 。请注意 x个 不需要 是多项式环的生成器; 任何环形元件都可以。这个 允许快速计算扭转多项式 评价的 在 环的任何元素。
算法: 中描述的递归 【MT1991】 .递归 计算公式 \(O(\log ^2 n)\) 次。 作者: David Harvey(2006-09-24):初始版本 约翰·克雷莫纳(2008-08-26):统一除法多项式代码
示例: 鼠尾草: E类 = 椭圆曲线 ( “37a” ) 圣人: E类 . 除法多项式0 ( 1 ) 1 圣人: E类 . 除法多项式0 ( 2 ) 1 圣人: E类 . 除法多项式0 ( 三 ) 3*x^4-6*x^2+3*x-1 圣人: E类 . 除法多项式0 ( 4 ) 2*x^6-10*x^4+10*x^3-10*x^2+2*x+1 圣人: E类 . 除法多项式0 ( 5 ) 5*x^12-62*x^10+95*x^9-105*x^8-60*x^7+285*x^6-174*x^5-5*x*^4-5*x^3+35*x^2-15*x+2 圣人: E类 . 除法多项式0 ( 6 ) 3*x^16-72*x^14+168*x^13-364*x^12+1120*x^10-1144*x^9+300*x^8-540*x^7+1120*x^6-588*x^5-133*x^4+252*x^3-114*x^2+22*x-1 圣人: E类 . 除法_多项式_0 ( 7 ) 7*x^24-308*x^22+986*x^21-2954*x^20+28*x^19+17171*x^18-23142*x^17+511*x^16-5012*x^15+43804*x^14-7140*x^13-96950*x^12+111356*x^11-19516*x^10-49707*x^9+40054*x^8-124*x^7-18382*x^6+13342*x^5-4816*x^4+1099*x^3-210*x^2+35*x-3 圣人: E类 . 除法多项式0 ( 8 ) 4*x^30-292*x^28+1252*x^27-5436*x^26+2340*x^25+39834*x^24-79560*x^23+51432*x^22-142896*x^21+451596*x*^20-212040*x^19-1005316*x^18+1726416*x*x^17-671160*x^16-954924*x^15+1119552*x^14+313308*x^13-1502818*x^12+118908*x^11-160152*x ^10-399176*x ^9+386142*x ^8-220128*x ^7+99558*x ^6-33528*x ^5+6042*x ^4+310*x ^3 -406*x^2+78*x-5 圣人: E类 . 除法多项式0 ( 18 ) % E类 . 除法多项式0 ( 6 ) == 0 真的 举例说明与扭转点的关系: 圣人: F类 = GF公司 ( 11 ) 圣人: E类 = 椭圆曲线 ( F类 , [ 0 , 2 ]); E类 大小为11的有限域上由y^2=x^3+2定义的椭圆曲线 圣人: (f) = E类 . 除法多项式0 ( 5 ); (f) 5*x^12+x^9+8*x^6+4*x^3+7 圣人: (f) . 因素 () (5) *(x^2+5)*(x^2+2*x+5)*(x^2+5*x+7) *(x^2+7*x+7)*(x^2+9*x+5)*(x ^2+10*x+七) 这表明 \(x \) -所有5个扭转点的坐标 \(E) 在中 \(\GF{11^2}\) ,因此 \(年\) -坐标在 \(\GF{11^4}\) : 圣人: #需要sage.rings.finite_ring 圣人: K(K) = GF公司 ( 11 ^ 4 , “a” ) 圣人: X(X) = E类 . 更改(_R) ( K(K) ) 圣人: (f) = X(X) . 除法多项式0 ( 5 ) 圣人: x_字 = (f) . 根 ( 多重性 = False(错误) ); x_字 [10*a^3+4*a^2+5*a+6, 9*a^3+8*a^2+10*a+8, 8*a^3+a^2+4*a+10, 8*a^3+a^2+4*a+8, 8*a^3+a^2+4*a+4, 6*a^3+9*a^2+3*a+4, 5*a^3+2*a^2+8*a+7, 3*a^3+10*a^2+7*a+8, 3*a^3+10*a^2+7*a+3, 3*a^3+10*a^2+7*a+1, 2*a^3+3*a^2+a+7, a^3+7*a^2+6*a] 现在,我们检查这些确实是 \(x \) -的坐标 5-扭转点 \(E) : 圣人: 对于 x个 在里面 x坐标 : #需要sage.rings.finite_ring ....: 断言 X(X) . 提升_x ( x个 ) . 秩序 () == 5 多项式的根是 \(x \) -点的坐标 \(P\) 这样的话 \(mP=0) 但是 \(2P\不=0\) : 圣人: E类 = 椭圆曲线 ( “14a1” ) 圣人: T型 = E类 . 扭转_子组 () 圣人: [ n个 * T型 .0 对于 n个 在里面 范围 ( 6 )] [(0 : 1 : 0), (9 : 23 : 1), (2 : 2 : 1), (1 : -1 : 1), (2 : -5 : 1), (9 : -33 : 1)] 圣人: 波尔 = E类 . 除法_多项式_0 ( 6 ) 鼠尾草: xlist公司 = 波尔 . 根 ( 多重性 = False(错误) ); xlist公司 [9, 2, -1/3, -5] 圣人: [ E类 . 提升_x ( x个 , 全部的 = 真的 ) 对于 x个 在里面 xlist公司 ] [[(9 : -33 : 1), (9 : 23 : 1)], [(2 : -5 : 1), (2 : 2 : 1)], [], []] 注意 第2阶点和身份没有出现。 具有的点 \(x=-1/3\) 和 \(x=-5\) 都是不合理的。
-
正式的 ( ) # 返回与此椭圆曲线关联的形式组。 此方法已缓存。 示例: 圣人: E类 = 椭圆曲线 ( “37a” ) 圣人: E类 . formal_group(格式组) () 椭圆曲线的形式群 由有理字段上的y^2+y=x^3-x定义
-
formal_group(格式组) ( ) # 返回与此椭圆曲线关联的形式组。 缓存此方法。 示例: 圣人: E类 = 椭圆曲线 ( “37a” ) 圣人: E类 . formal_group(格式组) () 椭圆曲线的形式群 由有理域上的y^2+y=x^3-x定义
-
弗罗贝尼乌斯·伊索根尼 ( n个 = 1 ) # 返回 \(n\) -从这条曲线到 它的伽罗瓦共轭。 弗罗贝尼乌斯 内幕 态射是其中的特例 \(n\) 可被曲线基环的度数整除。 示例: 圣人: #需要sage.rings.finite_ring 圣人: z3(零3) , = GF公司 ( 13 ^ 三 ) . 氏族 () 圣人: E类 = 椭圆曲线 ([ z3(零3) , z3(零3) ^ 2 ]) 圣人: E类 . 弗罗贝尼乌斯·伊索根尼 () 13度弗罗贝尼乌斯等值线: 自:y^2=x^3+z3*x+z3 ^2定义的椭圆曲线 在大小为13^3的z3中的有限域上 To:由y^2=x^3+(5*z3^2+7*z3+11)*x+(5*z3^2+12*z3+1)定义的椭圆曲线 在大小为13^3的z3中的有限域上 圣人: E类 . frobenius_同源 ( 三 ) 2197度的Frobenius自同态=13^3: 自:y^2=x^3+z3*x+z3 ^2定义的椭圆曲线 在大小为13^3的z3中的有限域上 收件人:y^2=x^3+z3*x+z3^2定义的椭圆曲线 在大小为13^3的z3中的有限域上
-
消息 ( 我 ) # 函数返回此椭圆曲线的第i个生成器。 注意 依赖于正在实现的gens()。 示例: 圣人: R(右) .< a1级 , a2类 , a3类 , a4类 , a6类 > = QQ(QQ) [] 圣人: E类 = 椭圆曲线 ([ a1级 , a2类 , a3类 , a4类 , a6类 ]) 鼠尾草: E类 . 消息 ( 0 ) 回溯(最近一次调用): ... NotImplementedError:未实现。
-
氏族 ( ) # 用于返回椭圆曲线生成器的占位符函数。 注意 此功能在特定派生 类,例如EllipticCurve_rational_field。 示例: 圣人: R(右) .< a1级 , a2类 , a3类 , a4类 , a6类 > = QQ(QQ) [] 圣人: E类 = 椭圆曲线 ([ a1级 , a2类 , a3类 , a4类 , a6类 ]) 圣人: E类 . 氏族 () 回溯(最近一次调用): ... NotImplementedError:未实现。 圣人: E类 = 椭圆曲线 ( QQ(QQ) , [ 1 , 1 ]) 圣人: E类 . 氏族 () [(0:1:1)]
-
超椭圆多项式 ( ) # 返回一对多项式 \(克(x)\) , \(h(x)\) 这样,这个椭圆 曲线可以由标准超椭圆方程定义 \[y^2+h(x)y=g(x).\] 示例: 圣人: R(右) .< a1级 , a2类 , a3类 , a4类 , a6类 >= QQ(QQ) [] 圣人: E类 = 椭圆曲线 ([ a1级 , a2类 , a3类 , a4类 , a6类 ]) 圣人: E类 . 超椭圆多项式 () (x^3+a2*x^2+a4*x+a6,a1*x+a3)
-
恒等同态 ( ) # 返回此椭圆曲线的恒等式自同态 作为 椭圆曲线Hom 对象。 示例: 圣人: E类 = 椭圆曲线 ( j个 = 42 ) 鼠尾草: E类 . 恒等同态 () 有理域上由y^2=x^3+5901*x+1105544定义的椭圆曲线的椭圆曲线自同态 通过:(u,r,s,t)=(1,0,0,O) 圣人: E类 . 恒等同态 () == E类 . scalar_复制 ( 1 ) 真的
-
是同构的 ( 其他 , 领域 = 无 ) # 无论是否返回 自己 与同构 其他 . 输入: 其他 –另一条椭圆曲线。 领域 (默认为“无”)–一个字段 曲线的系数可以强制(默认情况下,使用 曲线的基础字段)。
输出: (bool)如果曲线存在同构,则为True 自己 到 曲线 其他 定义超过 领域 . 示例: 圣人: E类 = 椭圆曲线 ( '389a' ) 圣人: F类 = E类 . 更改weierstrass_模型 ([ 2 , 三 , 4 , 5 ]); F类 由y^2+4*x*y+11/8*y=x^3-3/2*x^2-13/16*x定义的椭圆曲线 在有理字段上 圣人: E类 . 是同构的 ( F类 ) 真的 圣人: E类 . 是同构的 ( F类 . 更改(_R) ( 立方厘米 )) False(错误)
-
曲线上的is_on ( x个 , 年 ) # 如果返回True \((x,y)\) 是此曲线上的仿射点。 输入: x个 , 年 –曲线基环的元素。
示例: 圣人: E类 = 椭圆曲线 ( QQ(QQ) ,[ 1 , 1 ]) 圣人: E类 . 曲线上的is_on ( 0 , 1 ) 真的 圣人: E类 . is_on_曲线 ( 1 , 1 ) False(错误)
-
is_x_字 ( x个 ) # 如果返回True x个 是 \(x \) -曲线上一点的坐标。 注意 另请参见 lift_x() 用给定的 \(x \) -坐标。 在以下情况下,此功能可能很有用 测试基场元素是否为正方形 比求平方根还要快。 示例: 圣人: E类 = 椭圆曲线 ( “37a” ); E类 有理域上由y^2+y=x^3-x定义的椭圆曲线 圣人: E类 . is_x_字 ( 1 ) 真的 圣人: E类 . is_x_字 ( 2 ) 真的 没有具有x坐标3的有理点: 圣人: E类 . is_x_字 ( 三 ) False(错误) 然而,在 \(E(\RR)\) : 圣人: E类 . 更改(_R) ( 右后 ) . is_x_字 ( 三 ) 真的 当然,它总是在 \(E(\CC)\) : 圣人: E类 . 更改(_R) ( 右后 ) . is_x_字 ( - 三 ) False(错误) 鼠尾草: E类 . 更改(_R) ( 立方厘米 ) . is_x_字 ( - 三 ) 真的 作者: 约翰·克雷莫纳(2008-08-07):改编自 lift_x()
-
同构 ( u个 , 对 , 秒 = 0 , t吨 = 0 , is_域 = 0 ) # 给定四个值 \(u,r,s,t\) 在该曲线的基环中,返回 这个 魏尔斯特拉斯同构 由定义 \(u,r,s,t\) 用这个 曲线作为其密码子。 (值 \(u\) 必须是一个单位; 价值观 \(r,s,t\) 默认为零。) (可选)如果关键字参数 is_域 设置为 真的 , 返回由定义的同构 \(u,r,s,t\) 以该曲线为其 有限公司 域。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: 国际标准化组织 = E类 . 同构 ( 6 ); 国际标准化组织 椭圆曲线形态: 自:有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 收件人:有理域上由y^2+1/6*x*y+1/72*y=x^3+1/18*x^2+1/324*x+5/46656定义的椭圆曲线 通过:(u,r,s,t)=(6,0,0,O) 圣人: 国际标准化组织 . 领域 () == E类 真的 圣人: 国际标准化组织 . 密码子 () == E类 . 缩放曲线 ( 1 / 6 ) 真的 圣人: 国际标准化组织 = E类 . 同构 ( 1 , 7 , 8 , 9 ); 国际标准化组织 椭圆曲线形态: 自:有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 至:有理域上由y^2+17*x*y+28*y=x^3-49*x^2-54*x+303定义的椭圆曲线 通过:(u,r,s,t)=(1,7,8,9) 圣人: 国际标准化组织 . 领域 () == E类 真的 圣人: 国际标准化组织 . 密码子 () == E类 . rst_transform(第一次转换) ( 7 , 8 , 9 ) 真的 圣人: 国际标准化组织 = E类 . 同构 ( 6 , 7 , 8 , 9 ); 国际标准化组织 椭圆曲线形态: 自:有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 收件人:有理域上由y^2+17/6*x*y+7/54*y=x^3-49/36*x^2-1/24*x+101/15552定义的椭圆曲线 通过:(u,r,s,t)=(6,7,8,9) 圣人: 国际标准化组织 . 领域 () == E类 真的 圣人: 国际标准化组织 . 密码子 () == E类 . rst_transform(第一次转换) ( 7 , 8 , 9 ) . 缩放曲线 ( 1 / 6 ) 真的 这个 is_域 参数颠倒了结构域和密码域的作用: 鼠尾草: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: 国际标准化组织 = E类 . 同构 ( 6 , is_域 = 真的 ); 国际标准化组织 椭圆曲线形态: 自:有理域上由y^2+6*x*y+648*y=x^3+72*x^2+5184*x+233280定义的椭圆曲线 收件人:有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 通过:(u,r,s,t)=(6,0,0,O) 圣人: 国际标准化组织 . 领域 () == E类 . 缩放曲线 ( 6 ) 真的 圣人: 国际标准化组织 . 密码子 () == E类 真的 圣人: 国际标准化组织 = E类 . 同构 ( 1 , 7 , 8 , 9 , is_域 = 真的 ); 国际标准化组织 椭圆曲线形态: 自:有理域上由y^2-15*x*y+90*y=x^3-75*x^2+796*x-2289定义的椭圆曲线 收件人:有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 通过:(u,r,s,t)=(1,7,8,9) 圣人: 国际标准化组织 . 领域 () . rst_transform(第一次转换) ( 7 , 8 , 9 ) == E类 真的 圣人: 国际标准化组织 . 密码子 () == E类 真的 圣人: 国际标准化组织 = E类 . 同构 ( 6 , 7 , 8 , 9 , is_域 = 真的 ); 国际标准化组织 椭圆曲线形态: 自:有理域上由y^2-10*x*y+700*y=x^3+35*x^2+9641*x+169486定义的椭圆曲线 收件人:有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 通过:(u,r,s,t)=(6,7,8,9) 圣人: 国际标准化组织 . 领域 () . rst_transform(第一次转换) ( 7 , 8 , 9 ) == E类 . 缩放曲线 ( 6 ) 真的 圣人: 国际标准化组织 . 密码子 () == E类 真的
-
同构to ( 其他 ) # 给出另一个weierstrass模型 其他 属于 自己 ,返回一个 同构 自己 到 其他 . 输入: 其他 –椭圆曲线同构于 自己 .
输出: (Weierstrassmorphism)来自 自己 到 其他 . 注意 如果所讨论的曲线不是同构的 值错误 已引发。 示例: 圣人: E类 = 椭圆曲线 ( “37a” ) 圣人: F类 = E类 . short_weierstrass_模型 () 圣人: 周 = E类 . 同构to ( F类 ); 周 椭圆曲线形态: 自:有理域上由y^2+y=x^3-x定义的椭圆曲线 To:有理域上由y^2=x^3-16*x+16定义的椭圆曲线 通过:(u,r,s,t)=(1/2,0,0,-1/2) 圣人: 对 = E类 ( 0 , - 1 , 1 ) 圣人: 周 ( 对 ) (0 : -4 : 1) 圣人: 周 ( 5 * 对 ) (1 : 1 : 1) 圣人: 5 * 周 ( 对 ) (1 : 1 : 1) 圣人: 120 * 周 ( 对 ) == 周 ( 120 * 对 ) 真的 我们还可以处理不同基环的注入: 圣人: x个 = 一夫多妻制 ( ZZ公司 , “x” ) 圣人: K(K) .< 一 > = 数字字段 ( x个 ^ 三 - 7 ) #需要sage.rings.number_field 圣人: E类 . 同构to ( E类 . 更改(_R) ( K(K) )) #需要sage.rings.number_field 椭圆曲线形态: 自:有理域上由y^2+y=x^3-x定义的椭圆曲线 收件人:由y^2+y=x^3+(-1)*x定义的椭圆曲线 定义多项式x^3-7的中的数字字段 通过:(u,r,s,t)=(1,0,0,O)
-
同构 ( 其他 , 领域 = 无 ) # 从返回同构集 自己 到 其他 (作为列表)。 输入: 其他 –另一条椭圆曲线。 领域 (默认值 无 )–一个字段,其中 曲线的系数可以强制(默认情况下,使用 曲线的基础字段)。
输出: (list)列表 魏尔斯特拉斯同构 对象包含所有 曲线的同构 自己 到曲线 其他 定义超过 领域 . 示例: 圣人: E类 = 椭圆曲线_from_j ( QQ(QQ) ( 0 )) #QQ上j=0的曲线 圣人: F类 = 椭圆曲线 ( “27a3” ) #应该是同一个 鼠尾草: E类 . 同构 ( F类 ) 由y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 在有理字段上 通过:(u,r,s,t)=(1,0,0,O), y^2+y=x^3定义的椭圆曲线的椭圆曲线自同态 在有理字段上 通过:(u,r,s,t)=(-1,0,0,-1)] 我们还可以找到在扩展字段上定义的同构: 圣人: #需要sage.rings.finite_ring 圣人: E类 = 椭圆曲线 ( GF公司 ( 7 ), [ 0 , 0 , 0 , 1 , 1 ]) 圣人: F类 = 椭圆曲线 ( GF公司 ( 7 ), [ 0 , 0 , 0 , 1 , - 1 ]) 圣人: E类 . 同构 ( F类 ) [] 圣人: E类 . 同构 ( F类 , GF公司 ( 49 , “a” )) [椭圆曲线形态: 自:y^2=x^3+x+1定义的椭圆曲线 大小为7^2的有限域上 收件人:由y^2=x^3+x+6定义的椭圆曲线 在大小为7^2的a中的有限域上 通过:(u,r,s,t)=(a+3,0,0,0), 椭圆曲线形态: 自:y^2=x^3+x+1定义的椭圆曲线 大小为7^2的有限域上 收件人:由y^2=x^3+x+6定义的椭圆曲线 大小为7^2的有限域上 通过:(u,r,s,t)=(6*a+4,0,0,O)]
-
j_变量 ( ) # 返回 \(j) -这个椭圆曲线的不变量。 缓存此方法。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , 0 , 1 , - 1 , 0 ]) 圣人: E类 . j_变量 () 110592/37 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 鼠尾草: E类 . j_变量 () -122023936/161051 圣人: E类 = 椭圆曲线 ([ - 4 , 0 ]) 圣人: E类 . j_变量 () 1728 圣人: E类 = 椭圆曲线 ([ GF公司 ( 7 )( 2 ), 1 ]) 圣人: E类 . j_变量 () 1
-
提升_x ( x个 , 全部的 = False(错误) , 延伸 = False(错误) ) # 返回给定的一个或所有点 \(x \) -坐标。 此方法是确定性的:它每次返回相同的数据 再次调用相同的时间 \(x \) . 输入: x个 –曲线基环或延伸的元素。 全部的 (bool,默认为False)–如果为True,则返回a(可能 空)所有点的列表; 如果为False,则只返回一个点, 或提出 值错误 如果没有。 延伸 (bool,默认为False)– 如果 False(错误) ,如有必要和可能,将底座延伸至 包括 \(x \) ,并且仅在此基础上定义了返回点 振铃,或在没有此错误时引发错误 \(x \) -坐标; 如果 真的 ,如有必要,将延长基环 包含 \(年\) -此点的坐标 \(x \) -坐标,除了可能的基础更改 包括 \(x \) .
输出: 此曲线上最多包含2个点的点或列表,或 将此曲线的基变换为更大的环。 另请参见 示例: 圣人: E类 = 椭圆曲线 ( “37a” ); E类 有理域上由y^2+y=x^3-x定义的椭圆曲线 鼠尾草: E类 . 提升_x ( 1 ) (1 : -1 : 1) 圣人: E类 . 提升_x ( 2 ) (2 : -3 : 1) 圣人: E类 . 提升_x ( 1 / 4 , 全部的 = 真的 ) [(1/4 : -5/8 : 1), (1/4 : -3/8 : 1)] 没有理性的观点 \(x \) -坐标3: 圣人: E类 . 提升_x ( 三 ) 回溯(最近一次调用): ... ValueError:没有x坐标为3的点 有理域上y^2+y=x^3-x定义的椭圆曲线 我们可以使用 延伸 参数以进行必要的 二次扩展。 请注意,在这种情况下,返回的 点是新曲线对象上的点,更改的结果 基环到的父级 \(x \) : 圣人: 对 = E类 . 提升_x ( 三 , 延伸 = 真的 ); 对 #需要sage.rings.number_field (3:-y-1:1) 圣人: 对 . 曲线 () #需要sage.rings.number_field 椭圆曲线由y^2+y=x^3+(-1)*x定义 在y中定义多项式y^2+y-24的数域上 或者我们可以扩展标量。 有两个这样的点 \(E(\RR)\) : 圣人: E类 . 更改(_R) ( 右后 ) . 提升_x ( 三 , 全部的 = 真的 ) [(3.00000000000000 : -5.42442890089805 : 1.00000000000000), (3.00000000000000 : 4.42442890089805 : 1.00000000000000)] 当然,它总是在 \(E(\CC)\) : 圣人: E类 . 更改(_R) ( 右后 ) . 提升_x ( .5 , 全部的 = 真的 ) [] 圣人: E类 . 更改(_R) ( 立方厘米 ) . 提升_x ( .5 ) (0.5000000000000:-0.5000000000000000-0.353553390593274*I:10000000000000) 在这个例子中,我们从定义在 \(\QQ\) 没有理性点 \(x=0) ,但使用 延伸 = 真的 我们可以在二次曲线上构造这样一个点 字段: 圣人: E类 = 椭圆曲线 ([ 0 , 0 , 0 , 0 , 2 ]); E类 有理域上由y^2=x^3+2定义的椭圆曲线 圣人: 对 = E类 . 提升_x ( 0 , 延伸 = 真的 ); 对 #需要sage.rings.number_field (0:-y:1) 圣人: 对 . 曲线 () #需要sage.rings.number_field 由y^2=x^3+2定义的椭圆曲线 定义多项式y^2-2的y中的数字域 我们也可以在有限域上执行这些操作: 圣人: E类 = 椭圆曲线 ( “37a” ) . 更改(_R) ( GF公司 ( 17 )); E类 大小为17的有限域上由y^2+y=x^3+16*x定义的椭圆曲线 圣人: E类 . 提升_x ( 7 ) (7 : 5 : 1) 圣人: E类 . 提升_x ( 三 ) 回溯(最近一次调用): ... ValueError:没有x坐标为3的点 大小为17的有限域上由y^2+y=x^3+16*x定义的椭圆曲线 请注意,只有一个升降机 \(x \) -坐标10英寸 \(E(\GF{17})\) : 鼠尾草: E类 . 提升_x ( 10 , 全部的 = 真的 ) [(10:8:1)] 我们也可以举起更多奇异的戒指。 如果提供的x 值是基的扩展,请注意 返回值位于基本延伸曲线上: 圣人: E类 = 椭圆曲线 ( “37a” ) 圣人: 对 = E类 . 提升_x ( pAdic字段 ( 17 , 5 )( 6 )); 对 #需要sage.rings.padics (6+O(17^5):14+O(17%):1+O(17 ^5)) 圣人: 对 . 曲线 () #需要sage.rings.padics 椭圆曲线由定义 y^2+(1+O(17^5))*y=x^3+ 在17-adic字段上,具有上限相对精度5 圣人: K(K) .< t吨 > = PowerSeriesRing系列 ( QQ(QQ) , “t” , 5 ) 圣人: 对 = E类 . 提升_x ( 1 + t吨 ); 对 (1+t:-1-2*t+t^2-5*t^3+21*t^4+O(t^5):1) 圣人: K(K) .< 一 > = GF公司 ( 16 ) #需要sage.rings.finite_ring 圣人: 对 = E类 . 更改(_R) ( K(K) ) . 提升_x ( 一 ^ 三 ); 对 #需要sage.rings.finite_ring (a^3:a^3+a:1) 圣人: 对 . 曲线 () #需要sage.rings.finite_ring 大小为2^4的有限域上由y^2+y=x^3+x定义的椭圆曲线 我们可以扩展基本字段以包含关联的 \(年\) 值: 圣人: E类 = 椭圆曲线 ([ 0 , 0 , 0 , 0 , 2 ]); E类 有理域上由y^2=x^3+2定义的椭圆曲线 圣人: x个 = 一夫多妻制 ( QQ(QQ) ) 圣人: 对 = E类 . 提升_x ( x个 , 延伸 = 真的 ); 对 (x:-y:1) 这一点是E: 圣人: 对 . 曲线 () 由y^2=x^3+2定义的椭圆曲线 y中的一元商多项式环 有理域上x中一元多项式环的分数域 模量为y^2-x^3-2 鼠尾草: - 对 (x:y:1) 圣人: 2 * 对 ((1/4*x^4-4*x)/(x^3+2):((-1/8*x^6-5*x^3+4)/(x^6+4*x^3+4))*y:1) 检查一下 github问题#30297 已修复: 圣人: K(K) = Qp(质量计划) ( 5 ) #需要sage.rings.padics 圣人: E类 = 椭圆曲线 ([ K(K) ( 0 ), K(K) ( 1 )]) #需要sage.rings.padics 圣人: E类 . 提升_x ( 1 , 延伸 = 真的 ) #需要sage.rings.padics (1+O(5^20):y+O(5 ^20):1+O(五^20)) 作者: 罗伯特·布拉德肖(2007-04-24) 约翰·克雷莫纳(2017-11-10)
-
蒙哥马利模型 ( 扭曲的 = False(错误) , 同构 = False(错误) ) # 为此返回一个(扭曲或非扭曲)蒙哥马利模型 椭圆曲线,如果可能的话。 Montgomery曲线是形式为 \[按^2=X^3+AX^2+X。\] 蒙哥马利曲线被称为 无捻的 如果 \(B=1) . 输入: 扭曲的 –布尔值(默认值: False(错误) ); 允许 \(第1项) 同构 –布尔值(默认值: False(错误) ); 也返回一个 从该曲线到计算的蒙哥马利模型的同构
输出: 如果 扭曲的 是 False(错误) (默认) 椭圆曲线_通用 对象封装未扭曲的 蒙哥马利曲线。 否则,a 投影平面曲线 封装(可能扭曲的)蒙哥马利曲线的对象。 如果 同构 是 真的 ,此方法返回由以下内容组成的元组 这样的曲线与合适类型的同构(或者 魏尔斯特拉斯同构 或 带反转的Weierstrass变换 ) 从这条曲线到蒙哥马利模型。 示例: 圣人: E类 = 椭圆曲线 ( QQbar(QQbar) , “11a1” ) #需要sage.rings.number_field 圣人: E类 . 蒙哥马利模型 () #需要sage.rings.number_field 椭圆曲线由y^2=x^3+(-1.953522420987248?)*x^2+x定义 代数域上 圣人: E类 = 椭圆曲线 ( GF公司 ( 431 ^ 2 ), [ 7 , 7 ]) #需要sage.rings.finite_ring 圣人: E类 . 蒙哥马利模型 () #需要sage.rings.finite_ring 由y^2=x^3+(51*z2+190)*x^2+x定义的椭圆曲线 在大小为431^2的z2中的有限域上 蒙哥马利和维尔斯特拉斯形式之间的同构可以 使用 同构 参数: 圣人: E类 . 蒙哥马利模型 ( 同构 = 真的 ) #需要sage.rings.finite_ring (由y^2=x^3+(51*z2+190)*x^2+x定义的椭圆曲线 z2中431^2大小的有限域上, 椭圆曲线形态: 自:y^2=x^3+7*x+7定义的椭圆曲线 z2中431^2大小的有限域 收件人:由y^2=x^3+(51*z2+190)*x^2+x定义的椭圆曲线 z2中431^2大小的有限域 通过:(u,r,s,t)=(64*z2+407159,0,0)) 并不是所有的椭圆曲线都有蒙哥马利模型 定义: 圣人: E类 = 椭圆曲线 ( GF公司 ( 257 ), [ 1 , 1 ]) 圣人: E类 . 蒙哥马利模型 () 回溯(最近一次调用): ... ValueError:由y^2=x^3+x+1定义的椭圆曲线 257大小的有限域上没有Montgomery模型 圣人: E类 = 椭圆曲线 ( GF公司 ( 257 ), [ 10 , 10 ]) 圣人: E类 . 蒙哥马利模型 () 回溯(最近一次调用): ... 数值错误:椭圆曲线由y^2=x^3+10*x+10定义 257大小的有限域上没有无扭曲的Montgomery模型 然而,正如错误消息所暗示的那样,后一条曲线确实如此 承认 扭曲的 蒙哥马利模型,可通过 经过 twisted=真 : 圣人: E类 . 蒙哥马利模型 ( 扭曲的 = 真的 ) 257大小有限域上的投影平面曲线 定义为-x^3+8*x^2*z-127*y^2*z-x*z^2 因为Sage内部将椭圆曲线表示为(长)Weierstrass 没有蒙哥马利特色的曲线 \(B\) 系数 在这种情况下返回的曲线仅仅是 投影平面曲线 而不是像往常一样 椭圆曲线_通用 . 此类型曲线上的算法未在本地实现, 但可以通过来回映射到 相应的Weierstrass曲线: 圣人: C类 , (f) = E类 . 蒙哥马利模型 ( 扭曲的 = 真的 , 同构 = 真的 ) 圣人: (f) 方案形态: 自:y^2=x^3+10*x+10定义的椭圆曲线 在257大小的有限字段上 To:257大小的有限域上的投影平面曲线 定义为-x^3+8*x^2*z-127*y^2*z-x*z^2 Defn:通过发送(x:y:z)到在坐标上定义 (x+116*z:-y:-85*z) 圣人: 克 = (f) . 反向 (); 克 方案变形: From:尺寸为257的有限域上的投影平面曲线 定义为-x^3+8*x^2*z-127*y^2*z-x*z^2 收件人:由y^2=x^3+10*x+10定义的椭圆曲线 在257大小的有限字段上 Defn:通过发送(x:y:z)到在坐标上定义 (-85*x-116*z:85*y:z) 圣人: 对 = C类 ( 70 , 8 ) 圣人: 问 = C类 ( 17 , 17 ) 圣人: 对 + 问 #这行不通。。。 回溯(最近一次调用): ... TypeError:不支持+:的操作数父级。。。 圣人: (f) ( 克 ( 对 ) + 克 ( 问 )) # ... 但这是真的 (107 : 168 : 1) 使用Weil配对满足的事实 \(e(psi(P),psi(Q))= e(P,Q)^{\deg\psi}\) ,甚至可以通过这种方式模拟配对(注意 同构具有程度 \(1\) ): 圣人: #需要sage.rings.finite_ring 圣人: F类 .< z2型 > = GF公司 ( 257 ^ 2 ) 圣人: C类_ = C类 . 更改(_R) ( F类 ) 圣人: 克_ = 克 . 更改(_R) ( F类 ) 圣人: 克_ ( 对 ) . 秩序 () 12 圣人: T型 = C类_ ( - 7 * z2型 - 57 , 31 * z2型 - 52 , 1 ) 圣人: 克_ ( T型 ) . 秩序 () 12 圣人: 克_ ( 对 ) . weil配对 ( 克_ ( T型 ), 12 ) 15*z2+204 另一种选择是简单地将基本场扩展到足够大 对于具有未扭曲的Montgomery模型的曲线: 圣人: C类_ = E类 . 更改(_R) ( F类 ) . 蒙哥马利模型 (); C类_ #需要sage.rings.finite_ring 由y^2=x^3+249*x^2+x定义的椭圆曲线 z2中257^2大小的有限域 圣人: 小时 = C类 . 定义_多项式 () . 更改(_R) ( F类 ); 小时 #需要sage.rings.finite_ring -x^3+8*x^2*z-127*y^2*z-x*z^2 圣人: C类_ . 是同构的 ( 椭圆曲线_from_cubic ( 小时 ) . 密码子 ()) #需要sage.rings.finite_ring 真的 另请参见 逆转换-计算Weierstrass模型 给定的蒙哥马利曲线-可以使用 椭圆曲线_from_cubic() . 算法: 【CS2018】 , §2.4 参考文献:
-
乘法_by_m ( 米 , 仅限x(_O) = False(错误) ) # 返回乘法- \(米\) 映射自 自己 到 自己 结果是两个变量中的一对有理函数 \(x \) , \(年\) (或一个变量中的有理函数 \(x \) 如果 仅x 是 真的 ). 输入: 米 –非零整数 仅限x(_O) –布尔值(默认值: False(错误) )如果 真的 ,返回 只有 \(x \) -地图坐标(作为有理函数 在一个变量中)。
输出: 一双 \(f(x),g(x,y)) ,其中 \(f) 和 \(克\) 是理性的 度为的函数 \(年\) 在里面 \(g(x,y)\) 精确到1, 或者只是 \(f(x)\) 如果 仅限x(_O) 是 真的
注意 结果不会被缓存。 米 允许为负数(但不允许为0)。
示例: 圣人: E类 = 椭圆曲线 ([ - 1 , 三 ]) 我们验证了乘1就是恒等式: 圣人: E类 . 乘法_by_m ( 1 ) (x,y) 2的乘法更复杂: 圣人: (f) = E类 . 乘法_by_m ( 2 ) 圣人: (f) ((x^4+2*x^2-24*x+1)/(4*x^3-4*x+12), (8*x^6*y-40*x^4*y+480*x^3*y-40*x^2*y+96*x*y-568*y)/(64*x^6-128*x^4+384*x^3+64*x^2-384*x+576) 仅抓取x坐标(工作量较小): 圣人: mx(百万倍) = E类 . 乘法_by_m ( 2 , 仅限x(_O) = 真的 ); mx(百万倍) (1/4*x^4+1/2*x^2-6*x+1/4)/(x^3-x+3) 圣人: mx(百万倍) . 父母 () 有理域上x中一元多项式环的分数域 我们检查它是否适用于以下点: 鼠尾草: 对 = E类 ([ 2 , 三 ]) 鼠尾草: 评估 = λ (f) , 对 : [ fi(菲涅耳) ( 对 [ 0 ], 对 [ 1 ]) 对于 fi(菲涅耳) 在里面 (f) ] 圣人: 断言 E类 ( 评估 ( (f) , 对 )) == 2 * 对 我们也这样做,但用3乘法: 圣人: (f) = E类 . 乘法_by_m ( 三 ) 圣人: 断言 E类 ( 评估 ( (f) , 对 )) == 三 * 对 与乘以4相同: 圣人: (f) = E类 . 乘法_by_m ( 4 ) 圣人: 断言 E类 ( 评估 ( (f) , 对 )) == 4 * 对 与-1、-2、-3、-4的乘法相同: 圣人: 对于 米 在里面 [ - 1 , - 2 , - 三 , - 4 ]: ....: (f) = E类 . 乘法_by_m ( 米 ) ....: 断言 E类 ( 评估 ( (f) , 对 )) == 米 * 对
-
乘法by_m等代 ( 米 ) # 返回 椭圆曲线均匀性 与关联的对象 乘法- \(米) 这条椭圆曲线上的映射。 由此产生的同源性将 具有相关的rational映射(即 乘法_by_m() )已计算。 注意:此函数当前为 许多的 比 的结果 自乘_by_m() ,因为 构建一个等代基因会预先计算出大量数据 信息。 请参见 github问题#7368 和 github问题#8014 对于 改善这种状况的现状。 输入: 米 –非零整数
输出: 安 椭圆曲线均匀性 与关联的对象 乘法- \(米\) 这条椭圆曲线上的映射。
示例: 圣人: E类 = 椭圆曲线 ( “11a1” ) 圣人: E类 . 乘法by_m等代 ( 7 ) doctest:警告。。。 折旧警告:。。。 49度等位性 从y^2+y=x^3-x^2-10*x-20定义的椭圆曲线 在有理字段上 到由y^2+y=x^3-x^2-10*x-20定义的椭圆曲线 在有理字段上
-
平行曲线(_C) ( ) # 返回与此椭圆曲线对应的PARI曲线。 结果被缓存。 示例: 圣人: #需要sage.libs.pari 圣人: E类 = 椭圆曲线 ([ 右后 ( 0 ), 右后 ( 0 ), 右后 ( 1 ), 右后 ( - 1 ), 右后 ( 0 )]) 圣人: 电子 = E类 . 平行曲线(_C) () 圣人: 类型 ( 电子 ) <... ' 塞浦路斯2.gen.gen'> 鼠尾草: 电子 . 类型 () “t_VEC” 圣人: 电子 . 圆盘 () 37 在有限域上: 圣人: 椭圆曲线 ( GF公司 ( 41 ), [ 2 , 5 ]) . 平行曲线(_C) () #需要sage.libs.pari [修改(0,41),修改(0,11),修改, 修改(0,41),修改(4,41), Mod(26,41)、Mod(4,41)和Mod(11,41), Vecsmall([3]), [41, [9, 31, [6, 0, 0, 0]]], [0, 0, 0, 0]] 超过 \(p\) -adic字段: 圣人: #需要sage.libs.pari sage.rings.padics 圣人: Qp(质量计划) = pAdic字段 ( 5 , 前c = 三 ) 鼠尾草: E类 = 椭圆曲线 ( Qp(质量计划) , [ 三 , 4 ]) 圣人: E类 . 平行曲线(_C) () [0, 0, 0, 3, 4, 0, 6, 16, -9, -144, -3456, -8640, 1728/5, Vecsmall([2]),[O(5^3)],[0,0]] 圣人: E类 . j_变量 () 3*5^-1+O(5) 在数字字段上: 圣人: K(K) .< 一 > = 象限域 ( 2 ) #需要sage.libs.pari sage.rings.number_field 圣人: E类 = 椭圆曲线 ([ 1 , 一 ]) #需要sage.libs.pari sage.rings.number_field 圣人: E类 . 平行曲线(_C) () #需要sage.libs.pari sage.rings.number_field [0,0,0,修改(1,y^2-2), Mod(y,y^2-2),0,Mod(2,y^2-2),Mod(4*y,y^2-2), 型号(-1,y^2-2),型号(-48,y^2-2),型号, Mod(-928,y^2-2),Mod(3456/29,y^2-2), Vecsmall([5]), [y^2-2,[2,0],8,1,[[1,-1.41421356237310;1,1.414213562370], [1, -1.41421356237310; 1, 1.41421356237310], [16, -23; 16, 23], [2, 0; 0, 4], [4, 0; 0, 2], [2, 0; 0, 1], [2, [0, 2; 1, 0]], [2]], [-1.41421356237310, 1.41421356237310], [1,y],[1,0;0,1],[1,0,0,2;0,1,1,0]],[0,0,0 PARI不再要求 \(j) -不变量有负数 \(p\) -adic估价: 圣人: E类 = 椭圆曲线 ( Qp(质量计划) ,[ 1 , 1 ]) #需要sage.libs.pari sage.rings.padics 圣人: E类 . j_变量 () #j变量是一个p-adic整数#需要sage.libs.pari sage.rings.padics 2+4*5^2+O(5^3) 鼠尾草: E类 . 平行曲线(_C) () #需要sage.libs.pari sage.rings.padics [0, 0, 0, 1, 1, 0, 2, 4, -1, -48, -864, -496, 6912/31, Vecsmall([2]),[O(5^3)],[0,0]]
-
情节 ( 克敏 = 无 , x最大值 = 无 , 组件 = “两者” , ** 参数 ) # 画一个椭圆曲线图。 plot方法仅在存在自然强制的情况下实现 从 自己 到 右后 在这种情况下, 自己 是 绘制得好像它被定义在 右后 . 输入: 克敏, x最大值 –(可选)点将在 至少在这个范围内,但可能更远。 组件 –字符串,以下之一: 二者都 –(默认),缩放以使有界和 显示无边界零部件 有界的 –缩放绘图以显示边界 组件。 如果只有一个实数,则引发错误 组件。 无界的 –缩放绘图以显示无界 组件,包括两个灵活点。
绘图点 –传递给 sage.plot.generate_plot_points() 自适应容差 –传递给 sage.plot.generate_plot_points() 自适应_递归 –传递给 sage.plot.generate_plot_points() 随机化 –传递给 sage.plot.generate_plot点() **参数 –所有其他选项都传递给 sage.plot.line。 线路
示例: 圣人: E类 = 椭圆曲线 ([ 0 , - 1 ]) 圣人: 情节 ( E类 , rgb颜色 = 色调 ( 0.7 )) #需要sage.plot 包含1个图形基元的图形对象 圣人: E类 = 椭圆曲线 ( “37a” ) 圣人: 情节 ( E类 ) #需要sage.plot 由2个图形基元组成的图形对象 圣人: 情节 ( E类 , 克敏 = 25 , x最大值 = 26 ) #需要sage.plot 由2个图形图元组成的图形对象 使用 github发行号12766 我们添加了components关键字: 圣人: E类 . real_components(真实组件) () 2 圣人: E类 . 情节 ( 组件 = “有界” ) #需要sage.plot 包含1个图形基元的图形对象 圣人: E类 . 情节 ( 组件 = “无边界” ) #需要sage.plot 包含1个图形基元的图形对象 如果只有一个组件,则指定 components='bounded'引发ValueError: 圣人: E类 = 椭圆曲线 ( “9990be2” ) 圣人: E类 . 情节 ( 组件 = “有界” ) #需要sage.plot 回溯(最近一次调用): ... ValueError:此曲线没有边界组件 无法绘制在复数域上定义的椭圆曲线: 圣人: E类 = 椭圆曲线 ( 立方厘米 , [ 0 , 0 , 1 , - 1 , 0 ]) 圣人: E类 . 情节 () #需要sage.plot 回溯(最近一次调用): ... 未实现错误:绘制复杂场上的曲线 53位精度尚未实现
-
rst_transform(第一次转换) ( 对 , 秒 , t吨 ) # 通过返回曲线的变换 \((r,s,t)\) (带有 \(u=1) ). 输入: 对 , 秒 , t吨 –基环的三个元件。
输出: 椭圆曲线由 自己 按照标准 魏尔斯特拉斯变换 \((u,r,s,t)\) 具有 \(u=1) . 注意 这只是一个特殊情况 更改weierstrass_model() ,使用 \(u=1) . 示例: 圣人: R(右) .< 对 , 秒 , t吨 > = QQ(QQ) [] 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . rst_transform(第一次转换) ( 对 , 秒 , t吨 ) 由y^2+(2*s+1)*x*y+(r+2*t+3)*y定义的椭圆曲线 =x^3+(-s^2+3*r-s+2)*x^2+(3*r^2-r*s-2*s*t+4*r-3*s-t+4)*x +(r^3+2*r^2-r*t-t^2+4*r-3*t+5) 有理域上r,s,t中的多元多项式环
-
标量乘法 ( 米 ) # 返回scalar-multiplication映射 \([m]\) 关于这个椭圆 曲线作为 sage.schemes.elliptic_curves.hom_scalar。 椭圆曲线Hom_scalar 对象。 示例: 圣人: E类 = 椭圆曲线 ( “77a1” ) 圣人: 米 = E类 . scalar_复制 ( - 7 ); 米 标量乘法自同态[-7] 有理域上由y^2+y=x^3+2*x定义的椭圆曲线 圣人: 米 . 度 () 49 圣人: 对 = E类 ( 2 , 三 ) 圣人: 米 ( 对 ) (-26/225 : -2132/3375 : 1) 鼠尾草: 米 . 理性地图 () == E类 . 乘法_by_m ( - 7 ) 真的
-
缩放曲线 ( u个 ) # 按比例因子返回曲线的变换 \(u\) . 输入: u个 –基环的可逆元件。
输出: 椭圆曲线由 自己 按照标准 魏尔斯特拉斯变换 \((u,r,s,t)\) 具有 \(r=s=t=0) . 注意 这只是一个特殊情况 更改weierstrass_model() ,使用 \(r=s=t=0) . 示例: 圣人: K(K) = 压裂 ( 多项式环 ( QQ(QQ) , “u” )) 鼠尾草: u个 = K(K) . 消息 () 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . 缩放曲线 ( u个 ) 椭圆曲线由定义 y^2+u*x*y+3*u^3*y=x^3+2*u^2*x^2+4*u^4*x+5*u^6 有理域上u中一元多项式环的分数域
-
short_weierstrass_模型 ( 完整多维数据集 = 真的 ) # 返回一个简短的Weierstrass模型。 输入: 完整多维数据集 –布尔值(默认值:True); 对于 含义,见下文。
输出: 椭圆曲线。 如果 complete_cube=真 :返回表单的模型 \(y^2=x^3+a*x+b\) 对于这条曲线。 特点 不得为2; 在特征3中,只有当 \(b2=0) . 如果 complete_cube=假 :返回表单的模型 \(y^2=x^3+ax^2+bx+c\) 对于这条曲线。 这个 特征不能为2。 示例: 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 有理域上由y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线 圣人: F类 = E类 . short_weierstrass_模型 () 圣人: F类 有理域上由y^2=x^3+4941*x+185166定义的椭圆曲线 鼠尾草: E类 . 是同构的 ( F类 ) 真的 圣人: F类 = E类 . short_weierstrass_模型 ( 完整多维数据集 = False(错误) ) 圣人: F类 有理域上由y^2=x^3+9*x^2+88*x+464定义的椭圆曲线 圣人: E类 . 是同构的 ( F类 ) 真的 圣人: E类 = 椭圆曲线 ( GF公司 ( 三 ), [ 1 , 2 , 三 , 4 , 5 ]) 圣人: E类 . short_weierstrass_模型 ( 完整多维数据集 = False(错误) ) 尺寸为3的有限域上由y^2=x^3+x+2定义的椭圆曲线 这以前是不同的 github问题#3973 : 圣人: E类 . short_weierstrass_模型 () 尺寸为3的有限域上由y^2=x^3+x+2定义的椭圆曲线 特征3中的更多测试: 鼠尾草: E类 = 椭圆曲线 ( GF公司 ( 三 ), [ 0 , 2 , 1 , 2 , 1 ]) 圣人: E类 . short_weierstrass_模型 () 回溯(最近一次调用): ... 值错误:short_weierstrass_model():没有椭圆曲线的短模型 由大小为3的有限域上的y^2+y=x^3+2*x^2+2*x+1定义 (特征为3) 圣人: E类 . short_weierstrass_模型 ( 完整多维数据集 = False(错误) ) 由y^2=x^3+2*x^2+2*x+2定义的椭圆曲线 在大小为3的有限域上 圣人: E类 . short_weierstrass_模型 ( 完整多维数据集 = False(错误) ) . 是同构的 ( E类 ) 真的
-
扭转多项式 ( 米 , x个 = 无 , 双扭转多重性 = 2 , 强制评估(_E) = 无 ) # 返回 \(m^{th}\) 这个椭圆的除法多项式 曲线求值于 \(x\) . 如果 \(x \) 是 无 . 输入: 米 –正整数。 x个 –可选的环形元件,用作 \(x \) 变量。 如果 \(x \) 是 无 (省略),则新的多项式环将为 在椭圆曲线的基环上构造,及其 发电机将用作 \(x \) 。请注意 \(x \) 不需要 是多项式环的生成器; 任何环形元件都起作用。 这个 允许快速计算扭转多项式 评价的 在 环的任何元素。 双扭转多重性 –0、1或2 如果0:偶数 \(米\) 什么时候 \(x \) 是 无 ,一元多项式 返回曲线的基环上,其中省略了因子 它们的根是 \(x \) -的坐标 \(2\) -扭转点。 何时 \(x \) 不是 无 ,这样一个多项式的求值 \(x \) 返回。 如果2:偶数 \(米\) 什么时候 \(x \) 是 无 ,一元多项式 返回曲线的基环上,其中包括 根为 \(x\) -的坐标 \(2\) -扭转点。 类似地,当 \(x \) 不是 无 ,对这样一个 多项式 \(x \) 返回。 如果1:偶数 \(米\) 什么时候 \(x \) 是 无 ,一个二元多项式 返回曲线的基环上,其中包括 因素 \(2y+a_1x+a_3\) 在 \(2\) -扭转点。 何时 \(x \) 不是 无 ,它应该是长度为2的元组,并且 这样一个多项式的求值 \(x \) 返回。 强制评估(_E) (可选)–0、1或2 默认情况下,此方法使用以前缓存的泛型 用于计算多项式值的除法多项式 给定元素 \(x \) 只要这样做似乎有益。 显式设置此标志将覆盖默认行为。 请注意,评估通用划分的复杂性 多项式的尺度比计算值的尺度差得多 直接(使用递归公式),因此 设置此标志可能会影响性能。 如果为0:不要使用缓存的泛型除法多项式。 如果1:如果此的泛型除法多项式 \(米\) 已经是 之前缓存过,在 \(x \) 以计算结果。 如果2:计算 \(x \) 通过评估通用 除法多项式。 如果通用 \(米\) -除法多项式 尚未缓存,请先计算并缓存它。
示例: 圣人: E类 = 椭圆曲线 ([ 0 , 0 , 1 , - 1 , 0 ]) 圣人: E类 . 除法多项式 ( 1 ) 1 圣人: E类 . 除法多项式 ( 2 , 双扭转多重性 = 0 ) 1 圣人: E类 . 除法多项式 ( 2 , 双扭转多重性 = 1 ) 2*y+1 圣人: E类 . 除法多项式 ( 2 , 双扭转多重性 = 2 ) 4*x^3-4*x+1 圣人: E类 . 除法多项式 ( 2 ) 4*x^3-4*x+1 圣人: [ E类 . 除法多项式 ( 三 , 双扭转多重性 = 我 ) 对于 我 在里面 范围 ( 三 )] [3*x^4-6*x^2+3*x-1,3*x ^4-6*x ^2+3*x-1,3*x ^ 4-6*x ^2+3*x-1] 圣人: [ 类型 ( E类 . 除法多项式 ( 三 , 双扭转多重性 = 我 )) 对于 我 在里面 范围 ( 三 )] [<…'sage.rings.polymentary.polymonial_rational_flint.Polymonial_ rational_frint'>, <... ' sage.rings.多项式.多重多项式_libsingular。 MPolynomial_libsingular'>, <... ' 萨吉·林。多项式。多项式理性。燧石。 多项式_rational_flint'>] 圣人: E类 = 椭圆曲线 ([ 0 , - 1 , 1 , - 10 , - 20 ]) 圣人: R(右) .< z(z) > = 多项式环 ( QQ(QQ) ) 圣人: E类 . 除法多项式 ( 4 , z(z) , 0 ) 2*z^6-4*z^5-100*z^4-790*z^3-210*z^2-1496*z^-5821 圣人: E类 . 除法多项式 ( 4 , z(z) ) 8*z^9-24*z^8-464*z^7-2758*z^6+6636*z^5+34356*z^4 +53510*z^3+99714*z^2+351024*z+459859 这不起作用,因为当two_torsion_multiplicity为1时,我们 计算一个二元多项式,并且必须在 长度2: 圣人: E类 . 除法多项式 ( 4 , z(z) , 1 ) 回溯(最近一次调用): ... ValueError:x应为长度为2(或无)的元组 当two_torsionmultiplicity为1时 圣人: R(右) .< z(z) , 周 > = 多项式环 ( QQ(QQ) , 2 ) 圣人: E类 . 除法多项式 ( 4 , ( z(z) , 周 ), 1 ) . 因素 () (2*w+1)*(2*z^6-4*z^5-100*z^4-790*z^3-210*z^2-1496*z-5821) 我们还可以在以下某个点上计算此二元多项式: 圣人: 对 = E类 ( 5 , 5 ) 圣人: E类 . 除法多项式 ( 4 , 对 , 双扭转多重性 = 1 ) -1771561
-
二分多项式 ( x个 = 无 ) # 返回此椭圆曲线的2分多项式 在 x个 . 输入: x个 –可选的环形元件,用作 \(x\) 变量。 如果 x个 是 无 ,则新的多项式环将为 在椭圆曲线的基环上构造,以及 其发电机将用作 x个 。请注意 x个 做 不需要是多项式环的生成器; 任何戒指 元素是可接受的。 这允许快速计算 扭转多项式 评价的 在环的任何元素上。
示例: 圣人: E类 = 椭圆曲线 ( “5077a1” ) 圣人: E类 . 二分多项式 () 4*x^3-28*x+25 圣人: E类 = 椭圆曲线 ( GF公司 ( 三 ^ 2 , “a” ), [ 1 , 1 , 1 , 1 , 1 ]) #需要sage.rings.finite_ring 圣人: E类 . 二分多项式 () #需要sage.rings.finite_ring x^3+2*x^2+2 圣人: E类 . 二分多项式 () . 根 () #需要sage.rings.finite_ring [(2,1),(2*a,1)(a+2,1)]
-
-
sage.schemes.elliptic_curves.ell_generic。 是椭圆曲线(_E) ( x个 ) # 测试条件的实用函数 x个 是椭圆曲线类的实例。 示例: 圣人: 从 sage.schemes.elliptic_curves.ell_通用 进口 是椭圆曲线(_E) 圣人: E类 = 椭圆曲线 ([ 1 , 2 , 三 / 4 , 7 , 19 ]) 圣人: 是椭圆曲线(_E) ( E类 ) 真的 圣人: 是椭圆曲线(_E) ( 0 ) False(错误)