椭圆曲线的Weierstrass模型之间的同构 #
Robert Bradshaw(2007):初始版本 约翰·克雷莫纳(2008年1月):同构、自同构和扭曲 在所有特征中 Lorenz Panny(2021): 椭圆曲线Hom 接口
-
班 sage.schemes.elliptic_curves.weierstrass_morphism。 魏尔斯特拉斯同构 ( E类 = 无 , 爆发 = 无 , F类 = 无 ) # -
表示两条椭圆曲线之间的Weierstrass同构的类。 输入: E类 –一个 椭圆曲线 ,或 无 (见下文)。 爆发 –4元组 \((u,r,s,t)\) ,一个 基本WI 对象, 或 无 (见下文)。 F类 –一个 椭圆曲线 ,或 无 (见下文)。
给定两条椭圆曲线 E类 和 F类 (代表:Weierstrass 模型)和转换 爆发 从 E类 到 F类 , 从中构造同构 E类 到 F类 . 如果出现以下情况,则会引发异常 突发事件(E) != F类 。最多一个 E类 , F类 , 爆发 可以是 无 。在这种情况下,缺少的输入是 由其他人以这样的方式构建 突发事件(E) == F类 持有, 如果这不可能(通常是因为 E类 和 F类 不是同构的)。 用户通常不需要直接使用此类,而是使用 方法,如 同构_to() 或 同构() . 显然,同构由 \((u,r,s,t)\) 映射点 \((x,y)\) 切中要害 \[((x-r)/u^2,\;(y-s(x-r 如果域 \(E) 具有Weierstrass系数 \([a1,a2,a3,a4,a6]\) , 密码子 \(F\) 由提供 \[\开始 {拆分}a_1 '&=(a_1+2s)/u\\ a_2'&=(a_2-a_1s+3r-s^2)/u^2\\ a3'&=(a3+a1r+2t)/u^3\\ a4'&=(a4+2a2r-a1(rs+t)-a3s+3r^2-2st)/u^4\\ a6'&=(a6-a1rt+a2r^2-a3t+a4r+r^3-t^2)/u^6。 \结束{拆分}\] 示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 * 圣人: 魏尔斯特拉斯同构 ( 椭圆曲线 ([ 0 , 1 , 2 , 三 , 4 ]), ( - 1 , 2 , 三 , 4 )) 椭圆曲线态射: 自:有理域上由y^2+2*y=x^3+x^2+3*x+4定义的椭圆曲线 收件人:有理域上由y^2-6*x*y-10*y=x^3-2*x^2-11*x-2定义的椭圆曲线 通过:(u,r,s,t)=(-1,2,3,4) 圣人: E类 = 椭圆曲线 ([ 0 , 1 , 2 , 三 , 4 ]) 圣人: F类 = 椭圆曲线 ( E类 . 克雷莫纳标签 ()) 圣人: 魏尔斯特拉斯同构 ( E类 , 无 , F类 ) 椭圆曲线形态: 自:有理域上由y^2+2*y=x^3+x^2+3*x+4定义的椭圆曲线 收件人:有理域上由y^2=x^3+x^2+3*x+5定义的椭圆曲线 通过:(u,r,s,t)=(1,0,0,-1) 圣人: 周 = 魏尔斯特拉斯同构 ( 无 , ( 1 , 0 , 0 , - 1 ), F类 ) 圣人: 周 . _领域 == E类 真的 -
二重的 ( ) # 返回此同构的对偶同构。 对于同构,对偶就是逆的。 示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 魏尔斯特拉斯同构 圣人: E类 = 椭圆曲线 ( 象限域 ( - 三 ), [ 0 , 1 ]) #需要sage.rings.number_field 圣人: 周 = 魏尔斯特拉斯同构 ( E类 , ( 圆域(CyclotomicField) ( 三 ) . 消息 (), 0 , 0 , 0 )) #需要sage.rings.number_field 圣人: ( 周 . 二重的 () * 周 ) . 理性地图 () #需要sage.rings.number_field (x,y) 圣人: E1级 = 椭圆曲线 ([ 11 , 22 , 33 , 44 , 55 ]) 圣人: E2级 = E1级 . short_weierstrass_模型 () 圣人: 国际标准化组织 = E1级 . 同构to ( E2级 ) 圣人: 国际标准化组织 . 二重的 () == ~ 国际标准化组织 真的
-
不可分割_度 ( ) # 返回此Weierstrass同构的不可分割程度。 对于同构,此方法始终返回一个。
-
身份(_I) ( ) # 检查Weierstrass同构是否为同一性。 示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 魏尔斯特拉斯同构 圣人: 第页 = 97 圣人: Fp公司 = GF公司 ( 第页 ) 圣人: E类 = 椭圆曲线 ( Fp公司 , [ 1 , 28 ]) 圣人: ws公司 = 魏尔斯特拉斯同构 ( E类 , 无 , E类 ) 圣人: ws公司 . is_标识 () False(错误) 圣人: 从 sage.schemes.椭圆曲线.wierstras_同构 进口 魏尔斯特拉斯同构 圣人: 第页 = 97 圣人: Fp公司 = GF公司 ( 第页 ) 圣人: E类 = 椭圆曲线 ( Fp公司 , [ 1 , 28 ]) 圣人: ws公司 = 魏尔斯特拉斯同构 ( E类 , ( 1 , 0 , 0 , 0 ), 无 ) 圣人: ws公司 . 身份(_I) () 真的
-
核多项式 ( ) # 返回此同构的核多项式。 根据定义,同构具有平凡的内核,因此 方法始终返回 \(1) . 示例: 圣人: E1级 = 椭圆曲线 ([ 11 , 22 , 33 , 44 , 55 ]) 圣人: E2级 = 椭圆曲线_from_j ( E1级 . j_变量 ()) 圣人: 国际标准化组织 = E1级 . 同构to ( E2级 ) 圣人: 国际标准化组织 . 核多项式 () 1 圣人: 磅/平方英寸 = E1级 . 同生 ( 国际标准化组织 . 核多项式 (), 密码子 = E2级 ); 磅/平方英寸 1级同构 根据y^2+11*x*y+33*y=x^3+22*x^2+44*x+55定义的椭圆曲线 在有理字段上 到由y^2+x*y=x^3+x^2-684*x+6681定义的椭圆曲线 在有理字段上 圣人: 磅/平方英寸 在里面 { 国际标准化组织 , - 国际标准化组织 } 真的
-
秩序 ( ) # 如果这个Weierstrass同构是自同构,那么计算它的阶。 A类 值错误 如果域不等于余域,则引发。 A类 未实现错误 如果自同构的阶不是1、2、3、4或6,则引发。 示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 * 圣人: 第页 = 97 圣人: Fp公司 = GF公司 ( 第页 ) 圣人: E类 = 椭圆曲线 ( Fp公司 , [ 1 , 28 ]) 圣人: ws公司 = 魏尔斯特拉斯同构 ( E类 , 无 , E类 ) 圣人: ws公司 . 秩序 () 2
-
理性地图 ( ) # 返回定义此同构的一对有理映射。 示例: 圣人: E1级 = 椭圆曲线 ([ 11 , 22 , 33 , 44 , 55 ]) 圣人: E2级 = 椭圆曲线_from_j ( E1级 . j_变量 ()) 圣人: 国际标准化组织 = E1级 . 同构to ( E2级 ); 国际标准化组织 椭圆曲线形态: 自:由y^2+11*x*y+33*y=x^3+22*x^2+44*x+55定义的椭圆曲线 在有理字段上 收件人:由y^2+x*y=x^3+x^2-684*x+6681定义的椭圆曲线 在有理字段上 通过:(u,r,s,t)=(1,-17,-5,77) 圣人: 国际标准化组织 . 理性地图 () (x+17,5*x+y+8) 圣人: (f) = E2级 . 定义_多项式 ()( * 国际标准化组织 . 理性地图 (), 1 ) 圣人: 我 = E1级 . 定义_理想 () 圣人: x个 , 年 , z(z) = 我 . 戒指 () . 氏族 () 圣人: (f) 在里面 我 + 理想 ( z(z) - 1 ) 真的 圣人: #需要sage.rings.finite_ring 圣人: E类 = 椭圆曲线 ( GF公司 ( 65537 ), [ 1 , 1 , 1 , 1 , 1 ]) 圣人: 周 = E类 . 同构 ( E类 . short_weierstrass_模型 ()) 圣人: (f) , 克 = 周 . 理性地图 () 圣人: 对 = E类 . 随机点 () 圣人: 周 ( 对 ) . xy公司 () == ( (f) ( 对 . xy公司 ()), 克 ( 对 . xy公司 ())) 真的
-
缩放因子 ( ) # 返回与此关联的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类 = 椭圆曲线 ( QQbar(QQbar) , [ 0 , 1 ]) #需要sage.rings.number_field 圣人: 全部的 ( (f) . 缩放因子 () == (f) . 正式的 ()[ 1 ] 对于 (f) 在里面 E类 . 自同构 ()) #需要sage.rings.number_field 真的 算法:比例因子等于 \(u\) 的组件 元组 \((u,r,s,t)\) 定义同构。
-
x国家地图 ( ) # 返回 \(x \) -这个同构的坐标有理映射。 示例: 圣人: E1级 = 椭圆曲线 ([ 11 , 22 , 33 , 44 , 55 ]) 圣人: E2级 = 椭圆曲线_from_j ( E1级 . j_变量 ()) 圣人: 国际标准化组织 = E1级 . 同构to ( E2级 ); 国际标准化组织 椭圆曲线形态: 自:由y^2+11*x*y+33*y=x^3+22*x^2+44*x+55定义的椭圆曲线 在有理字段上 收件人:由y^2+x*y=x^3+x^2-684*x+6681定义的椭圆曲线 在有理字段上 通过:(u,r,s,t)=(1,-17,-5,77) 圣人: 国际标准化组织 . x国家地图 () x+17 圣人: 国际标准化组织 . x国家地图 () == 国际标准化组织 . 理性地图 ()[ 0 ] 真的
-
班 sage.schemes.elliptic_curves.weierstrass_morphism。 基本WI ( u个 = 1 , 对 = 0 , 秒 = 0 , t吨 = 0 ) # 基础: 对象 这个类实现了之间的同构的基本算法 椭圆曲线的Weierstrass模型。 这些由表单列表指定 \([u,r,s,t]\) (带有 \(用户0) ) 指定转换 \((x,y)\映射到(x',y')\) 哪里 \((x,y)=(u^2x'+r,u^3y'+su^2x'+t) 输入: u、 r、s、t (默认值 \((1,0,0,0)\) )–标准参数 Weierstrass模型之间的同构。
示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 * 圣人: 基本WI () (1, 0, 0, 0) 圣人: 基本WI ( 2 , 三 , 4 , 5 ) (2, 3, 4, 5) 圣人: R(右) .< u个 , 对 , 秒 , t吨 > = QQ(QQ) [] 圣人: 基本WI ( u个 , 对 , 秒 , t吨 ) (u,r,s,t) -
身份(_I) ( ) # 返回 真的 如果这是身份同构。 示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 * 圣人: 周 = 基本WI (); 周 . 身份(_I) () 真的 圣人: 周 = 基本WI ( 2 , 三 , 4 , 5 ); 周 . is_标识 () False(错误)
-
元组 ( ) # 返回参数 \(u,r,s,t\) 作为元组。 示例: 圣人: 从 sage.schemes.elliptic_curves.weierstrass_形态 进口 * 圣人: 周 = 基本WI ( 2 , 三 , 4 , 5 ) 圣人: 周 . 元组 () (2, 3, 4, 5)