椭圆曲线的标量乘态射#

此类提供了椭圆曲线Hom实例化乘法-\(米\)椭圆曲线上的映射。

示例:

我们可以构造和计算标量乘法:

圣人: sage.schemes.elliptic_curves.hom_scalar软件 进口 椭圆曲线Hom_scalar
圣人:E类 = 椭圆曲线(“77a1”)
圣人:φ = E类.scalar_复制(5); φ
有理域上y^2+y=x^3+2*x定义的椭圆曲线的标量乘自同态[5]
圣人: = E类(2,)
圣人:φ()
(30 : 164 : 1)

像往常一样椭圆曲线Hom支持方法:

圣人:φ.()
25
圣人:φ.核多项式()
x^12+124/5*x^10+19*x^9-84*x^8+24*x^7-483*x^6-696/5*x^5-448*x^4-37*x^3-332*x^2-84*x+47/5
圣人:φ.理性地图()
((x^25-200*x^23-520*x^22+9000*x^21+…+1377010*x^3+20360*x^2-39480*x+2209),
(10*x^36*y-620*x^36+3240*x^34*y-44880*x^34+…+424927560*x*y+226380480*x+42986410*y+20974090)/(1250*x^365+93000*x^ 34+71250*x^33+1991400*x^32+…+121296450*x^3+138715800*x^2-27833400*x+1038230)
圣人:φ.二重的()
有理域上y^2+y=x^3+2*x定义的椭圆曲线的标量乘自同态[5]
圣人:φ.二重的()  φ
真的
圣人:φ.正式的()
5*t-310*t^4-2496*t^5+10540*t^7+…-38140146674516*t^20-46800256902400*t^21+522178541079910*t^22+O(t^23)
圣人:φ.规范化(_N)()
False(错误)
圣人:φ.可分离(_S)()
真的
圣人:φ.是客观的(_I)()
False(错误)
圣人:φ.是悲观的(_S)()
真的

与构造椭圆曲线均匀性除法多项式,椭圆曲线Hom_scalar可以快速处理大量标量:

圣人:E类 = 椭圆曲线(GF公司(2^127-1), [1,2,,4,5])
圣人:φ = E类.scalar_复制(9^99); φ
尺寸170141183460469231731687330371584105727的有限域上y^2+x*y+3*y=x^3+2*x^2+4*x+5定义的椭圆曲线的标量乘自同态[29512665430652752148753480226197736314359272517043288638463763343347802033270941104887
圣人:φ(E类(1,2))
(82124533143060719620799539030695848450 : 17016022038624814655722682134021402379 : 1)

标量乘法的合成会产生另一个标量乘法:

圣人:E类 = 椭圆曲线(GF公司(19), [4,4])
圣人:φ = E类.scalar_复制(-); φ
19号有限域上y^2=x^3+4*x+4定义的椭圆曲线的标量乘自同态[-3]
圣人:磅/平方英寸 = E类.scalar_复制(7); 磅/平方英寸
大小为19的有限域上由y^2=x^3+4*x+4定义的椭圆曲线的标量乘法自同态[7]
圣人:φ * 磅/平方英寸
19号有限域上y^2=x^3+4*x+4定义的椭圆曲线的标量乘自同态[-21]
圣人:磅/平方英寸 * φ
19号有限域上y^2=x^3+4*x+4定义的椭圆曲线的标量乘自同态[-21]
圣人:φ * 磅/平方英寸 == 磅/平方英寸 * φ
真的
圣人:-φ == E类.scalar_复制(-1) * φ
真的

零自同态\([0]\)支持:

圣人:E类 = 椭圆曲线(GF公司(71), [1,1])
圣人: = E类.scalar_复制(0); 
71大小有限域上y^2=x^3+x+1定义的椭圆曲线的标量乘自同态[0]
圣人:.为零()
真的
圣人:.是客观的(_I)()
False(错误)
圣人:.是悲观的(_S)()
False(错误)
圣人:(E类.随机点())
(0 : 1 : 0)

检索乘法-\(米\)映射时间\(米\)可被特性也起作用(因为github发行号37096):

圣人:E类 = 椭圆曲线(GF公司(7), [1,0])
圣人:φ = E类.scalar_复制(7); φ
由y^2=x^3+x定义的椭圆曲线在大小为7的有限域上的标量乘法自同态[7]
圣人:φ.理性地图()
(x^49,-y^49)
圣人:φ.x国家地图()
x ^ 49
圣人:磅/平方英寸 = E类.scalar_复制(-2); 磅/平方英寸
大小为7的有限域上y^2=x^3+x定义的椭圆曲线的标量乘自同态[-2]
圣人: = E类.scalar_复制(-14); 
大小为7的有限域上y^2=x^3+x定义的椭圆曲线的标量乘自同态[-14]
圣人: == 磅/平方英寸 * φ
真的
圣人:.理性地图()
((x ^196-2*x ^98+1)/(-3*x ^147-3*x ^49),
(-x^294*y^49+2*x^196*y^49-2*x^98*y^48+y^49)/(-x~294-2*x^96-x^98)
圣人:.x国家地图()
(2*x^196+3*x^98+2)/(x^147+x^49)
圣人:.理性地图() == 元组((f)(*φ.理性地图()) 对于 (f) 在里面 磅/平方英寸.理性地图())
真的
圣人:.x国家地图() == 磅/平方英寸.x国家地图()(φ.x国家地图())
真的
圣人:E类 = 椭圆曲线(GF公司(7), [0,1])
圣人:φ = E类.scalar_复制(7); φ
大小为7的有限域上y^2=x^3+1定义的椭圆曲线的标量乘自同态[7]
圣人:φ.理性地图()   #已知错误--#6413
((-3*x^49-x^28-x^7)/(x^42-x^21+2),
(-x^72*y-3*x^69*y-3*x^66*y-x^63*y+3*x^51*y+2*x^48*y+2*x^45*y+3*x^42*y-x^9*y-3**x^6*y-3**x^3*y)/(x^63+2*x*^42-x^21-1)
圣人:φ.x国家地图()
(4*x^49+6*x^28+6*x^7)/(x^42+6*x ^21+2)

作者:

sage.schemes.elliptic_curves.hom_scalar。椭圆曲线Hom_scalar(E类,)#

基础:椭圆曲线Hom

在椭圆曲线上构造一个标量乘法映射。

()#

返回此scalar-multiplication态射的度数。

地图\([m]\)有学位\(平方米).

示例:

圣人:E类 = 椭圆曲线(GF公司(23), [0,1])
圣人:φ = E类.scalar_复制(1111111)
圣人:φ.()
1234567654321
二重的()#

返回此标度乘法图的双重同系。

此方法只返回自己因为标量是自对偶的。

示例:

圣人:E类 = 椭圆曲线([5,5])
圣人:φ = E类.scalar_复制(5)
圣人:φ.二重的()  φ
真的
不可分割_度()#

返回此标量乘法映射的不可分割程度。

示例:

圣人:E类 = 椭圆曲线(GF公司(7), [0,1])
圣人:E类.is_超奇异()
False(错误)
圣人:E类.scalar_复制(4).不可分割_度()
1
圣人:E类.scalar_复制(-7).不可分割_度()
7
圣人:E类 = 椭圆曲线(GF公司(7), [1,0])
圣人:E类.is_超奇异()
真的
圣人:E类.scalar_复制(4).不可分割_度()
1
圣人:E类.scalar_复制(-7).不可分割_度()
49
核多项式()#

返回这个标量乘法映射的核多项式。(何时\(m=0),返回\(0\).)

示例:

圣人:E类 = 椭圆曲线(GF公司(997), [7,7,7,7,7])
圣人:φ = E类.scalar_复制(5)
圣人:φ.核多项式()
x^12+77*x^11+380*x^10+198*x^9+840*x^8+376*x^7+946*x^6+848*x^5+246*x^4+778*x^3+77*x^2+518*x+28
圣人:E类 = 椭圆曲线(GF公司(997), [5,6,7,8,9])
圣人:φ = E类.scalar_复制(11)
圣人:φ.核多项式()
x^60+245*x^59+353*x^58+693*x^57+499*x^56+462*x^55+820*x^54+962*x^53+…+736*x^7+939*x^6+429*x^5+267*x^4+116*x^3+770*x^2+491*x+519
理性地图()#

返回定义此标量的一对显式有理映射乘法。

算法:椭圆曲线_generic.multiplication_by_m()

示例:

圣人:E类 = 椭圆曲线(“77a1”)
圣人:φ = E类.scalar_复制(5)
圣人:φ.理性地图()
((x^25-200*x^23-520*x^22+…+368660*x^2+163195*x+16456)/(25*x^24+1240*x^22+950*x^21+…+20360*x^2-39480*x+2209),
(10*x^36*y-620*x^36+3240*x^34*y-…+226380480*x+42986410*y+20974090)/(1250*x*36+93000*x^34+71250*x^33+…+138715800*x^2-27833400*x+1038230)
圣人: = (2,)
圣人: = 元组(第页() 对于 第页 在里面 φ.理性地图()); 
(30, 164)
圣人:E类() == 5*E类()
真的
缩放因子()#

返回与此关联的Weierstrass比例因子标量乘法。

比例因子为常数\(u\)(在基本场中)这样的话\(\varphi^*\omega_2=u\omega_1\),其中\(\varphi:E_1\到E_2\)这是同态吗\(\欧米茄_i \)标准Weierstrass差速器\(E_i\)由定义\(\mathrm dx/(2y+a_1x+a_3)\).

示例:

圣人:E类 = 椭圆曲线(“11a1”)
圣人:φ = E类.scalar_复制(5)
圣人:u个 = φ.缩放因子()
圣人:u个 == φ.正式的()[1]
真的
圣人:u个 == E类.乘法by_m等代(5).缩放因子()
doctest:警告。。。折旧警告:。。。
真的

比例因子存在于基环中:

圣人:E类 = 椭圆曲线(GF公司(101^2), [5,5])
圣人:φ = E类.scalar_复制(123)
圣人:φ.缩放因子()
22
圣人:φ.缩放因子().父母()
z2中大小为101^2的有限域

算法:比例因子等于乘以。

x国家地图()#

返回\(x \)-这个标量的坐标有理映射乘法。

算法:椭圆曲线_generic.multiplication_by_m()

示例:

圣人:E类 = 椭圆曲线(GF公司(65537), [1,2,,4,5])
圣人:φ = E类.scalar_复制(7)
圣人:φ.x国家地图() == φ.理性地图()[0]
真的