魏尔斯特拉斯 \(\wp\) -椭圆曲线函数 #
圣人: E类 = 椭圆曲线 ([ 0 , 1 ])
圣人: E类 . 韦尔斯特拉斯p ()
z^-2-1/7*z^4+1/637*z^10-1/84721*z^16+O(z^20)
Dan Shumov 04/09:最初实施 Chris Wuthrich 11/09:重大重组 Jeroen Demeyer(2014-03-06):代码清理,修复特征绑定 对于二次算法(参见 github发行号15855 )
-
sage.schemes.elliptic_curves.ell_wp。 计算_wp_fast ( k个 , A类 , B类 , 米 ) # 计算由短Weierstrass模型定义的椭圆曲线的Weiersstrass函数: \(y^2=x^3+Ax+B\) 。它的速度与次数多项式一样快 \(米\) 可以倍增 在基环中,即。 \(O(M(n))\) 用符号表示 【BMSS2006】 . 让 \(p\) 是潜在领域的特征:那么我们必须有 \(p=0) ,或 \(p>m+3\) . 输入: k个 –曲线的基础场 A类 –和 B类 –作为短Weierstrass模型的系数 \(y^2=x^3+Ax+B\) 、和 米 –函数计算到的精度。
输出: 魏尔斯特拉斯 \(\wp\) 作为一个精确的罗朗级数 \(米\) . 算法: 此函数使用第3.3节中描述的算法 【BMSS2006】 . 示例: 圣人: 从 sage.schemes.elliptic_curves.ell_wp 进口 计算_wp_fast 圣人: 计算_wp_fast ( QQ(QQ) , 1 , 8 , 7 ) z^-2-1/5*z^2-8/7*z^4+1/75*z^6+O(z^7) 圣人: k个 = GF公司 ( 37 ) 圣人: 计算_wp_fast ( k个 , k个 ( 1 ), k个 ( 8 ), 5 ) z^-2+22*z^2+20*z^4+O(z^5)
-
sage.schemes.elliptic_curves.ell_wp。 计算机_wp_pari ( E类 , 前c ) # 计算Weierstrass \(\wp\) -函数 ellwp公司 功能 来自PARI。 示例: 圣人: E类 = 椭圆曲线 ([ 0 , 1 ]) 圣人: 从 sage.schemes.elliptic_curves.ell_wp 进口 计算机_wp_pari 圣人: 计算机程序 ( E类 , 前c = 20 ) z^-2-1/7*z^4+1/637*z^10-1/84721*z^16+O(z^20) 圣人: 计算机_wp_pari ( E类 , 前c = 30 ) z^-2-1/7*z^4+1/637*z^10-1/84721*z^16 +3/38548055*z^22-4/8364927935*z^28+O(z^30)
-
sage.schemes.elliptic_curves.ell_wp。 计算_wp_quadratic ( k个 , A类 , B类 , 前c ) # 计算椭圆曲线的截断Weierstrass函数 由短Weierstrass模型定义: \(y^2=x^3+Ax+B\) 。使用 复杂的算法 \(O(前^2)\) . 设p是基础字段的特征。 那我们必须 p=0或p>prec+2。 输入: k个 –曲线定义字段 A类 –和 B类 –椭圆曲线的系数 前c –我们计算级数的精度。
输出: 近似Weierstrass的Laurent级数 \(\wp\) -函数到精度 前c . 算法: 此函数使用的是 【BMSS2006】 . 示例: 圣人: E类 = 椭圆曲线 ([ 7 , 0 ]) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 10 , 算法 = “二次” ) z^-2-7/5*z^2+49/75*z^6+O(z^10) 圣人: E类 = 椭圆曲线 ( GF公司 ( 103 ), [ 1 , 2 ]) 圣人: E类 . 韦尔斯特拉斯p ( 算法 = “二次型” ) z^-2+41*z^2+88*z^4+11*z^6+57*z^8+55*z^10+73*z^12 +11*z^14+17*z^16+50*z^18+O(z^20) 圣人: 从 sage.schemes.elliptic_curves.ell_wp 进口 计算_wp_quadratic 圣人: 计算_wp_quadratic ( E类 . 底座(_R) (), E类 . a4 (), E类 . a6类 (), 前c = 10 ) z^-2+41*z^2+88*z^4+11*z^6+57*z^8+O(z^10)
-
sage.schemes.elliptic_curves.ell_wp。 求解线性微分系统 ( 一 , b条 , c(c) , 阿尔法 ) # 求解线性微分方程组: \(af'+bf=c\) 和 \(f’(0)=α 哪里 \(a) , \(b) 、和 \(c) 是一个变量中的幂级数 \(\字母\) 是系数环中的常数。 算法: 因为Brent和Kung’78。 示例: 圣人: 从 sage.schemes.elliptic_curves.ell_wp 进口 求解线性微分系统 圣人: k个 = GF公司 ( 17 ) 圣人: R(右) .< x个 > = PowerSeriesRing系列 ( k个 ) 圣人: 一 = 1 + x个 + O(运行) ( x个 ^ 7 ); b条 = x个 + O(运行) ( x个 ^ 7 ); c(c) = 1 + x个 ^ 三 + O(运行) ( x个 ^ 7 ); 阿尔法 = k个 ( 三 ) 圣人: (f) = 求解线性微分系统 ( 一 , b条 , c(c) , 阿尔法 ) 圣人: (f) 3+x+15*x^2+x^3+10*x^5+3*x^6+13*x^7+O(x^8) 圣人: 一 * (f) . 导数 () + b条 * (f) - c(c) O(x ^7) 圣人: (f) ( 0 ) == 阿尔法 真的
-
sage.schemes.elliptic_curves.ell_wp。 韦尔斯特拉斯p ( E类 , 前c = 20 , 算法 = 无 ) # 计算Weierstrass \(\wp\) -椭圆曲线上的函数。 输入: E类 –椭圆曲线 前c –精度 算法 –字符串或 无 (默认值: 无 ): 算法的选择 “同等” , “快速” , “二次” ; 或 无 让此函数确定要使用的最佳算法。
输出: 一个变量中的Laurent级数 \(z) 底部有系数 领域 \(k\) 属于 \(E) . 示例: 圣人: E类 = 椭圆曲线 ( “11a1” ) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 10 ) z^-2+31/15*z^2+2501/756*z^4+961/675*z^6+77531/41580*z^8+O(z^10) 圣人: E类 . 魏尔斯特拉斯 ( 前c = 8 ) z^-2+31/15*z^2+2501/756*z^4+961/675*z*6+O(z^8) 圣人: 埃什 = E类 . short_weierstrass_模型 () 圣人: 埃什 . 韦尔斯特拉斯p ( 前c = 8 ) z^-2+13392/5*z^2+1080432/7*z^4+59781888/25*z^6+O(z^8) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 8 , 算法 = “同等” ) z^-2+31/15*z^2+2501/756*z^4+961/675*z^6+O(z^8) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 8 , 算法 = “二次” ) z^-2+31/15*z^2+2501/756*z^4+961/675*z*6+O(z^8) 圣人: k个 = GF公司 ( 11 ) 圣人: E类 = 椭圆曲线 ( k个 , [ 1 , 1 ]) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 6 , 算法 = “快速” ) z^-2+2*z^2+3*z^4+O(z^6) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 7 , 算法 = “快速” ) 追踪(最近一次通话): ... ValueError:对于通过快速算法计算Weierstrass p函数, 基础字段的特征(11)必须大于prec+4=11 圣人: E类 . 韦尔斯特拉斯p ( 前c = 8 ) z^-2+2*z^2+3*z^4+5*z^6+O(z^8) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 8 , 算法 = “二次” ) z^-2+2*z^2+3*z^4+5*z^6+O(z^8) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 8 , 算法 = “同等” ) z^-2+2*z^2+3*z^4+5*z^6+O(z^8) 圣人: E类 . 韦尔斯特拉斯p ( 前c = 9 ) 追踪(最近一次通话): ... NotImplementedError:目前没有计算Weierstrass的算法 实现了该特征/精度对的p函数。 将精度降低到char(k)-2以下 圣人: E类 . 韦尔斯特拉斯p ( 前c = 9 , 算法 = “二次” ) 追踪(最近一次通话): ... ValueError:用于通过二次方计算Weierstrass p函数 算法,基础字段的特征(11)必须更大 比prec+2=11 圣人: E类 . 魏尔斯特拉斯 ( 前c = 9 , 算法 = “平价” ) 追踪(最近一次通话): ... ValueError:对于通过pari计算Weierstrass p函数 基础字段的特征(11)必须大于prec+2=11