一般超椭圆曲线的雅可比矩阵#

sage.schemes.超椭圆曲线.jacobian_generic。超椭圆Jacobian_泛型(C类)#

基础:雅各布_通用

示例:

圣人:#需要sage.rings.finite_ring
圣人:FF公司 = FiniteField公司(2003)
圣人:R(右).<x个> = 多项式环(FF公司)
圣人:(f) = x个**5 + 1184*x个** + 1846*x个**2 + 956*x个 + 560
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人: = x个**2 + 376*x个 + 245; b条 = 1015*x个 + 1368
鼠尾草:X = J型(FF公司)
圣人:D类 = X([,b条])
圣人:D类
(x^2+376*x+245,y+988*x+635)
圣人:J型(0)
(1)
鼠尾草:D类 == J型([,b条])
真的
圣人:D类 == D类 + J型(0)
真的

一个更广泛的例子,用J(QQ)和J(K)表示数字字段K/QQ。

圣人:.<x个> = 多项式环(QQ(QQ))
鼠尾草:(f) = x个^5 - x个 + 1; 小时 = x个
圣人:C类 = 超椭圆曲线((f),小时,“u,v”); C类
由v^2+u*v=u^5-u+1定义的有理域上的超椭圆曲线
圣人:聚丙烯 = C类.环境_空间(); 聚丙烯
有理域上的2维射影空间
圣人:C类.定义多项式()
-x0^5+x0*x1*x2^3+x1^2*x2^3+x0*x2^4-x2^5
圣人:C类(QQ(QQ))
有理域上超椭圆曲线的有理点集
由v^2+u*v=u^5-u+1定义
圣人:K(K).<t吨> = 数字字段(x个^2 - 2)                                              #需要sage.rings.number_field
圣人:C类(K(K))                                                                      #需要sage.rings.number_field
超椭圆曲线的有理点集
定义多项式x^2-2的t上的数字字段
由v^2+u*v=u^5-u+1定义
圣人: = C类(QQ(QQ))(0,1,1); 
(0 : 1 : 1)
圣人: == C类(0,1,1)
真的
鼠尾草:C类(0,1,1).起源()
有理域上超椭圆曲线的有理点集
由v^2+u*v=u^5-u+1定义

圣人:#需要sage.rings.number_field
圣人:第1页 = C类(K(K))()
圣人:第2页 = C类(K(K))([2, 4*t吨 - 1, 1])
圣人:第3页 = C类(K(K))([-1/2, 1/8*(7*t吨+2), 1])
鼠尾草:第1页, 第2页, 第3页
((0:1:1),(2:4*t-1:1),(-1/2:7/8*t+1/4:1)

圣人:J型 = C类.雅可比人(); J型
有理域上超椭圆曲线的Jacobian
由v^2+u*v=u^5-u+1定义
圣人: = J型(QQ(QQ))(); 
(u,v-1)
圣人:对于  在里面 范围(6): *
(1)
(u,v-1)
(u^2,v+u-1)
(u^2,v+1)
(u,v+1)
(1)

圣人:#需要sage.rings.number_field
圣人:问题1 = J型(K(K))(第1页); 打印("%秒->%秒"%( 第1页, 问题1 ))
(0:1:1)->(u,v-1)
圣人:第2季度 = J型(K(K))(第2页); 打印("%秒->%秒"%( 第2页, 第2季度 ))
(2:4*t-1:1)->(u-2,v-4*t+1)
圣人:第3季度 = J型(K(K))(第3页); 打印("%秒->%秒"%( 第3页, 第3季度 ))
(-1/2:7/8*t+1/4:1)->(u+1/2,v-7/8*t-1/4)
圣人:R(右).<x个> = 多项式环(K(K))
圣人:第4季度 = J型(K(K))([x个^2 - t吨, R(右)(1)])
圣人:对于  在里面 范围(4): 第4季度*
(1)
(u^2-t,v-1)
(u^2+(-3/4*t-9/16)*u+1/2*t+1/4,v+(-1/32*t-57/64)*u+1/2*t+9/16)
(u^2+(1352416/247009*t-1636930/247009)*u-1156544/247009*t+1900544/247009,
v+(-2326345442/122763473*电话+323153137/12276347)*u
+2439343104/122763473(电话:3350862929/122763473)
圣人:R2级 = 第2季度*5; R2级
(u^2-3789465233/116983808*u-267915823/58491904,
v+(-233827256513849/1789384327168*t+1/2)*u-15782925357447/894692163584*t)
鼠尾草:R3级 = 第3季度*5; R3级
(电话:2+566330088399913890623/14426454798950909645952*u
- 26531814176395676231273/28852909597901819291904,
v+(2531554403216456140708608199103/2450498420175733688903836378159104*电话+1/2)*u
+24277085056490261151356343176431311/4900996840351467377807672756318208*吨)
圣人:R4级 = 第4季度*5; R4级
(u^2-3789465233/116983808*u-267915823/58491904,
v+(233827256513849/1789384327168*电话+1/2)*电话+15782925357447/894692163584*电话)

因此,我们发现了以下身份:

圣人:5*第2季度 + 5*第4季度                                                               #需要sage.rings.number_field
(1)

此外,以下关系在5-扭转亚组中成立:

圣人:第2季度 + 第4季度 == 2*问题1                                                           #需要sage.rings.number_field
真的
()#

返回这个雅可比矩阵的维数。

输出:

整数

示例:

圣人:#需要sage.rings.finite_ring
圣人:k个.<> = GF公司(9); R(右).<x个> = k个[]
圣人:超椭圆曲线(x个^ + x个 - 1, x个 + ).雅可比人().()
1
圣人: = 超椭圆曲线(x个^6 + x个 - 1, x个 + ).雅可比人().(); 
2
圣人:类型()
<... '圣哲·林斯·integer。整数'>
几何_自同构_代数_字段(B类=200,证明=False(错误))#

返回几何自同态代数是否为字段。

这意味着曲线的雅可比是几何上的简单。它基于来自[2019年4月]

输入:

  • B类–(默认值:200)出现在语句中的绑定算法来自[2019年4月]

  • 证明–(默认:False)是否坚持可证明正确答案。这与docstring中的警告有关此模块的:如果此函数返回False(错误),然后严格地说,这还没有被证明是False(错误)直到一点显示了非平凡的自同态,而这些方法不是旨在执行。如果有人相信这种方法应该返回真的,但它又回来了False(错误),那么这个可以是通过增加\(B\).

输出:

指示几何自同态与否的布尔值代数是一门学科。

示例:

这是具有QM的LMFDB曲线262144.d.524288.2。尽管它雅可比是几何简单的,几何自同态代数不是字段:

圣人:R(右).<x个> = QQ(QQ)[]
圣人:(f) = x个^5 + x个^4 + 4*x个^ + 8*x个^2 + 5*x个 + 1
鼠尾草:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_自同构_代数_字段()
False(错误)

这是LMFDB曲线50000.a.200000.1:

圣人:(f) = 8*x个^5 + 1
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_自同构_代数_字段()
真的
几何_自同态_ring_is_ZZ(B类=200,证明=False(错误))#

返回的几何自同态环自己整数环\(\ZZ\).

输入:

  • B类–(默认值:200)出现在语句中的绑定算法来自[2019年4月]

  • 证明–(默认:False)是否坚持可证明正确答案。这与模块docstring中的警告有关属于\(jacobian_endomorphisms.py\):如果此函数返回False(错误),然后严格地说,这还没有被证明是False(错误)直到有人显示了一个非平凡的自同态,该模块中的方法并非设计用于执行。如果有人相信这种方法应该返回真的,但它又回来了错误,那么这个可以是通过增加\(B\).

输出:

指示几何自同态与否的布尔值环与整数环同构。

示例:

这是LMFDB曲线603.a.603.2:

圣人:R(右)<x个> = QQ(QQ)[]
圣人:(f) = 4*x个^5 + x个^4 - 4*x个^ + 2*x个^2 + 4*x个 + 1
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_自同态_ring_is_ZZ()
真的

这是LMFDB曲线1152.a.147456.1,其几何自同态环与上的2x2矩阵组同构\(\QQ\):

圣人:(f) = x个^6 - 2*x个^4 + 2*x个^2 - 1
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_自同态_ring_is_ZZ()
False(错误)

这是LMFDB曲线20736.k.373248.1,其几何自同态环与CM字段上的2x2矩阵组同构:

圣人:(f) = x个^6 + 8
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
鼠尾草:J型.几何_自同态_ring_is_ZZ()
False(错误)

这是LMFDB曲线708.a.181248.1:

圣人:R(右)<x个> = QQ(QQ)[]
圣人:(f) = -*x个^6 - 16*x个^5 + 36*x个^4 + 194*x个^ - 164*x个^2 - 392*x个 - 143
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_变形_ring_is_ZZ()
真的

这是LMFDB曲线10609.a.10609.1,其几何自同态环是实二次域中的阶:

圣人:(f) = x个^6 + 2*x个^4 + 2*x个^ + 5*x个^2 + 6*x个 + 1
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_自同态_ring_is_ZZ()
False(错误)

这是LMFDB曲线160000.c.800000.1,其几何自同态环是CM字段中的订单:

圣人:(f) = x个^5 - 1
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
圣人:J型.几何_自同态_ring_is_ZZ()
False(错误)

这是LMFDB曲线262144.d.524288.2,其几何自同态环是四元数代数中的一个阶:

圣人:(f) = x个^5 + x个^4 + 4*x个^ + 8*x个^2 + 5*x个 + 1
圣人:C类 = 超椭圆曲线((f))
鼠尾草:J型 = C类.雅可比人()
圣人:J型.几何_自同态_ring_is_ZZ()
False(错误)

这是LMFDB曲线578.a.232.1,其几何自同态环\(\QQ\times\QQ\):

圣人:(f) = 4*x个^5 - 7*x个^4 + 10*x个^ - 7*x个^2 + 4*x个
圣人:C类 = 超椭圆曲线((f))
圣人:J型 = C类.雅可比人()
鼠尾草:J型.几何_自同态_ring_is_ZZ()
False(错误)
指向(孟福德,检查=真的)#