数域上椭圆曲线的Galois表示#

该文件包含计算伽罗瓦素数的代码附在椭圆曲线上的表示(在任意数域上)是阴沉的。此文件中的函数由是悲观的(_S)非悲观(_S)数域上椭圆曲线的方法。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人:ρ = E类.galois_演示()
圣人:ρ.是悲观的(_S)(29) #分圆特征不夸张。
False(错误)
圣人:ρ.是悲观的(_S)(31) #参见[1972]第5.10节。
真的
圣人:ρ.非悲观(_S)()  #长时间(sage.math上的4s,2014)
[3, 5, 29]

圣人:E类 = 椭圆曲线_从_j(1728).更改(_R)(K(K)) #构型管理
圣人:E类.galois_演示().非悲观(_S)()  #长期(sage.math2,2014)
[0]

作者:

  • Eric Larson(2012-05-28):初始版本。

  • Eric Larson(2014-08-13):添加isogeny_bound函数。

  • 约翰·克雷莫纳(2016年、2017年):对_可排放_可减少_犯罪的各种效率改进

  • John Cremona(2017):Billery算法的实现,以找到所有可约素数

参考文献:

sage.schemes.elliptic_curves.gal_reps_number_field。比勒雷_B_bound(E类,最大_=200,数字(_l)=8,small_prime_bound(小_聚合物绑定)=0,调试=False(错误))#

计算Billerey的边界\(B\).

我们计算\(B_l\)对于\(l)高达最大_(最多)到数字(_l)找到非零值(最多)。返回素数列表划分所有\(B_l\)计算,不包括除6或分支化的、还原不良的或小于small_prime_bound的。如果未找到非零值,返回[0]。

输入:

  • E类–数域上的椭圆曲线\(K\),由全局积分模型。

  • 最大_(int,默认值200)–要检查的素数l的最大大小。

  • 数字(_l)(int,默认值8)–要检查的最大素数l。

  • small_prime_bound(小_聚合物绑定)(int,默认为0)–删除素数较少而不是输出的结果。

  • 调试(布尔,默认False(错误))–如果真的打印详细信息。

注意

small_prime_bound的目的是更快地使用本地测试处理这些问题;忽略他们,当没有大的可约素数,在实践中总是如此。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 比勒雷_B_bound
圣人:比勒雷_B_bound(E类)
[5]

如果我们没有使用足够的素数\(l),多余的素数将包括不可约素数:

圣人:比勒雷_B_bound(E类, 数字(_l)=6)
[5, 7]

类似地,如果我们没有使用足够大的素数\(l):

圣人:比勒雷_B_bound(E类, 最大_=50, 数字(_l)=8)
[5, 7]
圣人:比勒雷_B_bound(E类, 最大_=100, 数字(_l)=8)
[5]

这条曲线有一个合理的5等基因:

圣人:伦恩(E类.等基因_质数_度(5))
1
sage.schemes.elliptic_curves.gal_reps_number_field。比勒雷-B_l(E类,,B类=0)#

返回Billerey的\(B_l\),改编自【2011年上半年】,在(9)之后。

输入:

  • E类–数域上的椭圆曲线\(K\),由全局积分模型。

  • (int)–有理素数

  • B类(int)–0或之前的LCM\(B_l\):这一部分的底漆到B\(B_l\)被忽略。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 比勒雷-B_l
圣人:[比勒雷-B_l(E类,) 对于  在里面 素数(15)]
[1123077552537600,
227279663773903886745600,
0,
0,
269247154818492941287713746693964214802283882086400,
0]
sage.schemes.elliptic_curves.gal_reps_number_field。Billerey_P_l公司(E类,)#

返回Billerey的\(P_l ^*\)定义见【2011年上半年】,方程式(9)。

输入:

  • E类–数域上的椭圆曲线\(K\),由全局积分模型。

  • –有理素数

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 Billerey_P_l公司
圣人:[Billerey_P_l公司(E类,) 对于  在里面 素数(10)]
[x^2+8143*x+16777216,
x^2+451358*x+282429536481,
x ^4-664299076*x ^3+205155493652343750*x ^2-39595310449600219726562500*x+3552713678800500929355621337890625,
x^4-207302404*x^3-377423798538689366394*x^2-397152498264716565869875200004*x+367033668217294125441230211032033660188801]
sage.schemes.elliptic_curves.gal_reps_number_field。Billery_R_绑定(E类,最大_=200,数字(_l)=8,small_prime_bound(小_聚合物绑定)=,调试=False(错误))#

计算Billerey的边界\(R).

我们计算\(R_q\)对于\(q \)除法素数\(\ ell\)高达最大_(最多)到数字(_l)找到非零值(最多)。返回素数除以所有的列表请求(_q)计算的,不包括除以6或分支或减少不良或小于small_prime_bound。如果未找到非零值,则返回[0]。

输入:

  • E类–数域上的椭圆曲线\(K\),由全局积分模型。

  • 最大_(int,默认值200)–有理素数的最大大小检查l上面的质数q的l。

  • 数字(_l)(int,默认值8)–有理素数的最大数目检查l上面的质数q的l。

  • small_prime_bound(小_聚合物绑定)(int,默认为0)–删除素数较少而不是输出的结果。

  • 调试(布尔,默认False(错误))–如果真的打印详细信息。

注意

small_prime_bound的目的是更快地使用本地测试处理这些问题;忽略他们,当没有大的可约素数,在实践中总是如此。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 Billery_R_绑定
圣人:Billery_R_绑定(E类)
[5]

如果我们没有使用足够的素数,我们可能根本没有边界:

圣人:Billery_R_绑定(E类, 最大_=2, 调试=False(错误))
[0]

或者,如果我们没有使用足够的素数,我们可能会得到一个界,但不是一个好的界:

圣人:Billery_R_绑定(E类, 数字(_l)=1, 调试=False(错误))
[5, 17, 67, 157]

在这种情况下,两个素数就足以限制可能的可约素数到just\(\{5\}\)。该曲线具有合理的5等基因:

圣人:Billery_R_绑定(E类, 数字(_l)=2, 调试=False(错误))
[5]
圣人:伦恩(E类.等基因_质数_度(5))
1
sage.schemes.elliptic_curves.gal_reps_number_field。计费R_q(E类,q个,B类=0)#

返回Billerey的\(R_q\),改编自【2011年上半年】,定理2.8。

输入:

  • E类–数域上的椭圆曲线\(K\),由全局积分模型。

  • q个–最佳理想\(K\)

  • B类(int)–0或之前的LCM\(R_q\):这一部分的底漆到B\(R_q\)被忽略。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 计费R_q
圣人:[计费R_q(E类,K(K).上面的prime_ave()) 对于  在里面 素数(10)]
[1123077552537600,
227279663773903886745600,
51956919562116960000000000000000,
252485933820556361829926400000000]
sage.schemes.elliptic_curves.gal_reps_number_field。Frobenius_过滤器(E类,L(左),耐心=100)#

确定L中的哪些素数可能包含图像Borel亚组,通过检查Frobenius的痕迹。

注意

此函数有时会返回图像所对应的素数不包含在Borel子组中。这个问题不可能总是通过增加耐心来解决问题,因为这可能是同源基因的局部-全局原则的失败。

输入:

  • E类–数字字段上的椭圆曲线。

  • L(左)–质数列表。

  • 耐心(int),默认值100–正整数边界在试图证明时要使用的Frobenius痕迹数不可还原性。

输出:

  • list–所有素数的列表\(\ ell\)以L表示,其中mod\(\ ell\)图像可能包含在\(GL_2(\mathbf{F}(F)_{\ell})\).

示例:

圣人:E类 = 椭圆曲线(“11a1”) #具有5个同源基因
圣人:圣人.计划.椭圆曲线.加仑数字段.Frobenius_过滤器(E类,素数(40))  #长时间
[5]

示例显示输出可能包含素数,其中表示实际上是可约的。结束\(\QQ\)以下是本质上是唯一的这样的例子【2012年上半年】:

圣人:E类 = 椭圆曲线_从_j(2268945/128)
圣人:圣人.计划.椭圆曲线.加仑数字段.Frobenius_过滤器(E类, [7, 11])  #长时间
[7]

这条曲线的每一个好素数都有一个7等基因模减少,但没有合理的7等基因:

圣人:E类.等基因_质数_度(7)
[]

数字字段示例:

圣人:K(K).<> = 象限域(-1)
圣人:E类 = 椭圆曲线([1+, -, , -399-240*,  2627+2869*])
圣人:圣人.计划.椭圆曲线.加仑数字段.Frobenius_过滤器(E类, 素数(20))  #长时间
[2, 3]

这里的曲线确实具有2度和3度的等值线:

圣人:[伦恩(E类.等基因_质数_度()) 对于  在里面 [2,]]
[1, 1]
sage.schemes.elliptic_curves.gal_reps_number_field。Galois表示(E类)#

基础:Sage对象

伽罗瓦表示的相容族附在数域上的椭圆曲线上。

给定一条椭圆曲线\(E)在数字字段上\(K\)和一个有理素数\(p\),的\(p^n\)-扭转\(E[p^n]\)的点\(E)是的表示绝对伽罗瓦群\(G_K\)属于\(K\).作为\(n\)变化我们得到了泰特模组\(T_p E)哪个是的表示\(G_K\)在免费的\(\ZZ_p\)-模块级别的\(2\).作为\(p\)改变表达方式兼容。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 + 1, “a”)
圣人:E类 = 椭圆曲线(“11a1”).更改(_R)(K(K))
圣人:ρ = E类.galois_演示()
圣人:ρ
与定义多项式x^2+1中数字域上y^2+y=x^3+(-1)*x^2+(-10)*x+(-20)定义的椭圆曲线相关的Galois表示的兼容族
椭圆曲线()#

返回与此表示关联的椭圆曲线。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 + 1, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线_从_j()
圣人:ρ = E类.galois_演示()
圣人:ρ.椭圆曲线() == E类
真的
是悲观的(_S)(第页,A类=100)#

返回真的如果mod-p表示是(可证明的)俯冲到\(Aut(E[p])=GL_2(\GF{p})\).退货False(错误)如果不是的话。

输入:

  • 第页-int-一个素数。

  • A类-int—要使用的Frobenius记录道数的界限

    试图证明猜测。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人:ρ = E类.galois_演示()
圣人:ρ.是悲观的(_S)(29) #分圆特征不夸张。
False(错误)
圣人:ρ.是悲观的(_S)(7) #参见[1972]第5.10节。
真的

如果\(E)定义于\(\QQ\),然后为\(E_{/K}\)与特殊素数相同\(E),除了那些素数分支在\(K/\QQ\)或小于\([K:\QQ]\):

圣人:K(K) = 数字字段(x个**2 + 11, “a”)
圣人:E类 = 椭圆曲线([2, 14])
圣人:rhoQQ公司 = E类.galois_演示()
圣人:菱形 = E类.更改(_R)(K(K)).galois_演示()
圣人:rhoQQ公司.是悲观的(_S)(2) == 菱形.是悲观的(_S)(2)
False(错误)
圣人:rhoQQ公司.是悲观的(_S)() == 菱形.是悲观的(_S)()
真的
圣人:rhoQQ公司.是悲观的(_S)(5) == 菱形.是悲观的(_S)(5)
真的

对于CM曲线,mod-p表示决不是推测的:

圣人:K(K).<> = 数字字段(x个^2-x个+1)
圣人:E类 = 椭圆曲线([0,0,0,0,])
圣人:E类.has_cm(毫米)()
真的
圣人:ρ = E类.galois_演示()
圣人:任何(ρ.是悲观的(_S)(第页) 对于 第页 在里面 [2,,5,7])
False(错误)
等基因结合(A类=100)#

返回素数列表\(p\)包括所有素数,其中mod的图像-\(p\)表示包含在博雷尔。

注意

对于素数的实际列表\(p\)其中表示是可约的可约素数().

输入:

  • A类–int(Frobenius到在尝试证明mod时使用-\(p\)表示不包含在Borel中)。

输出:

  • 列表–包含(但可能不是)等于)全部\(p\)其中mod的图像-\(p\)表示包含在Borel子组中。在任何时候素数不在这个列表中,图像绝对不在包含在Borel中。如果E有\(CM\)定义超过\(K\),列表返回[0]。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人:ρ = E类.galois_演示()
圣人:ρ.等基因结合() #参见[Ser1972]第5.10节。#长时间
[3, 5]
圣人:K(K) = 数字字段(x个**2 + 1, “a”)
圣人:E类 = 椭圆曲线_从_j(K(K)(1728))             #CM高于K
圣人:E类.galois_演示().等基因结合()
[0]
圣人:E类 = 椭圆曲线_从_j(K(K)(0))                #CM不超过K
圣人:E类.galois_演示().等基因结合()     #长时间
[2, 3]
圣人:E类 = 椭圆曲线_从_j(K(K)(2268945/128))      #c.f.【2012年上半年】
圣人:ρ = E类.galois_演示()
圣人:ρ.等基因结合()  #没有7-同源性,但…#长时间
[7]

对于具有有理CM的曲线,有无穷多个素数\(p\)其中mod-\(p\)表示是可约的,[0]返回:

圣人:K(K).<> = 数字字段(x个^2-x个+1)
圣人:E类 = 椭圆曲线([0,0,0,0,])
圣人:E类.has_rational厘米()
真的
圣人:ρ = E类.galois_演示()
圣人:ρ.等基因结合()
[0]

示例(具有处处良好约简的椭圆曲线在一个很大的虚二次场上discriminant),在修复为之前失败github发行号21776:

圣人:K(K).<> = 数字字段(x个^2 - x个 + 112941801)
圣人:E类 = 椭圆曲线([+1,-1,,-23163076* + 266044005933275,57560769602038* - 836483958630700313803])
圣人:E类.导体().规范()
1
圣人:希腊 = E类.galois_演示()
圣人:希腊.等基因结合()
[]
非悲观(_S)(A类=100)#

返回素数列表\(p\)包括mod的所有素数-\(p\)代表性可能并不悲观。

输入:

  • A类–int(要使用的Frobenius记录道数的界限试图证明推测性)。

输出:

  • 列表–一个素数列表,其中mod-\(p\)表示是很可能不是满不在乎。在不在此列表中的任何素数处,这种表述肯定是主观臆断的。如果\(E)有CM,返回列表[0]。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人:ρ = E类.galois_演示()
圣人:ρ.非悲观(_S)() #参见[Ser1972]第5.10节。#长时间
[3, 5, 29]
圣人:K(K) = 数字字段(x个**2 + , “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([0, -1, 1, -10, -20]).更改(_R)(K(K)) #X_0(11)
圣人:ρ = E类.galois_演示()
圣人:ρ.非悲观(_S)()  #长时间(sage.math上的4s,2014)
[3, 5]
圣人:K(K) = 数字字段(x个**2 + 1, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线_从_j(1728).更改(_R)(K(K)) #构型管理
圣人:ρ = E类.galois_演示()
圣人:ρ.非悲观(_S)()
[0]
圣人:K(K) = 数字字段(x个**2 - 5, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线_从_j(146329141248* - 327201914880) #构型管理
圣人:ρ = E类.galois_演示()
圣人:ρ.非悲观(_S)() #长时间(sage.math 3s,2014)
[0]
可约素数()#

返回素数列表\(p\)其中mod-\(p\)表示是可约的,或者对于CM曲线是[0]。

输出:

  • 列表–这些素数的列表\(p\)其中mod-\(p\)表示包含在Borel子组中,即可简化。如果E有CM在K上定义,列表[0]是返回(在这种情况下,表示可为无限多素数)。

示例:

圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人:ρ = E类.galois_演示()
圣人:ρ.可约素数() #参见[Ser1972]第5.10节。#长时间
[3, 5]

圣人:K(K) = 数字字段(x个**2 + 1, “a”)
圣人:E类 = 椭圆曲线_从_j(K(K)(1728))             #CM高于K
圣人:E类.galois_演示().可约素数()
[0]
圣人:E类 = 椭圆曲线_从_j(K(K)(0))                #CM但不超过K
圣人:E类.galois_演示().可约素数()  #长时间
[2, 3]
圣人:E类 = 椭圆曲线_从_j(K(K)(2268945/128))      #c.f.【2012年上半年】
圣人:ρ = E类.galois_演示()
圣人:ρ.等基因结合()  #没有7-同源性,但…#长时间
[7]
圣人:ρ.可约素数()                        #长时间
[]

对于具有有理CM的曲线,有无穷多个素数\(p\)其中mod-\(p\)表示是可约的,[0]返回:

圣人:K(K).<> = 数字字段(x个^2-x个+1)
圣人:E类 = 椭圆曲线([0,0,0,0,])
圣人:E类.has_rational厘米()
真的
圣人:ρ = E类.galois_演示()
圣人:ρ.可约素数()
[0]
sage.schemes.elliptic_curves.gal_reps_number_field。deg_one_primes_iter(K(K),仅原则=False(错误))#

在的1次素数上返回迭代器K(K).

输入:

  • K(K)–数字字段

  • 仅原则–bool;如果真的,只产生主素数

输出:

1阶素数上的迭代器\(K\)达到给定标准,可以选择只产生主素数。

示例:

圣人:K(K).<> = 象限域(-5)
圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 deg_one_primes_iter
圣人: = deg_one_primes_iter(K(K))
圣人:[下一个() 对于 _ 在里面 范围(6)]
[分数理想(2,a+1),
分数理想(3,a+1),
分数理想(3,a+2),
分数理想(a),
分数理想(7,a+3),
分数理想(7,a+4)]
圣人: = deg_one_primes_iter(K(K), 真的)
圣人:[下一个() 对于 _ 在里面 范围(6)]
[分数理想(a),
分数理想(-2*a+3),
分数理想(2*a+3),
分数理想(a+6),
分数理想(a-6),
分数理想(-3*a+4)]
sage.schemes.elliptic_curves.gal_reps_number_field。可约素数_比勒雷(E类,数字(_l)=,最大_=,冗长的=False(错误))#

返回一组有限素数\(\ ell\)包含所有这些\(E)有一个\(K\)-理性ell-isogeny,其中\(K\)是的基本字段\(E):即mod-\(\ ell\)表示对所有人来说都是不可约的\(\ ell\)在返回的集合之外。

输入:

  • E类–在数字字段上定义的椭圆曲线\(K\).

  • 最大_(int或(默认))–最大素数\(\ ell\)用于B-bound和R-bound。如果,一个将使用默认值。

  • 数字(_l)(int或(默认)–素数\(\ ell\)用于B-bound和R-bound。如果,一个将使用默认值。

注意

如果E类具有CM,则返回[0]。在这种情况下,请使用功能sage.schemes.elliptic_curves.isogeny_class.possible_isogeny_degrees椭圆曲线

我们首先计算Billeray的B_bound,最多使用数字(_l)素数大小不超过最大_如果失败,我们计算Billeray的最多使用绑定(_B)数字(_q)大小不超过最大q.

假设这些方法之一成功地生成有限我们使用局部条件检查素数列表,最后测试返回的素数实际上是可约的。否则我们返回[0]。

示例:

圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 可约素数_比勒雷
圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K) = 数字字段(x个**2 - 29, “a”);  = K(K).消息()
圣人:E类 = 椭圆曲线([1, 0, ((5 + )/2)**2, 0, 0])
圣人:可约素数_比勒雷(E类)  #长时间
[3, 5]
圣人:K(K) = 数字字段(x个**2 + 1, “a”)
圣人:E类 = 椭圆曲线_从_j(K(K)(1728)) #CM高于K
圣人:可约素数_比勒雷(E类)  #长时间
[0]
圣人:E类 = 椭圆曲线_从_j(K(K)(0)) #CM但不超过K
圣人:可约素数_比勒雷(E类)  #长时间
[2, 3]

一个素数不可约但通过测试的例子:

圣人:E类 = 椭圆曲线_从_j(K(K)(2268945/128)).全局最小模型() #c.f.【2012年上半年】
圣人:可约素数_比勒雷(E类)  #长时间
[7]
sage.schemes.elliptic_curves.gal_reps_number_field。可约素数(E类,最大_=,数量_P=,冗长的=False(错误))#

返回局部可约素数\(\ ell\)高达最大_.

素数列表\(\ ell\)返回的包括所有最大_这样的话\(E)国防部\(P\)有一个\(\ ell\)-同源性,其中\(K\)是的基本字段\(E),用于数量_P素数\(P\)属于\(K\).英寸大多数情况下\(E)然后有一个\(K\)-理性的\(\ ell\)-同源,但有是罕见的例外。

输入:

  • E类–在数字字段上定义的椭圆曲线\(K\)

  • 最大_(int或(默认))–最大素数\(\ ell\)进行测试。

  • 数量_P(int或(默认)–素数\(P\)属于\(K\)用于测试每个\(\ ell\).

示例:

圣人: sage.schemes.elliptic_curves.gal_reps_number字段 进口 可约素数
圣人:x个 = 一夫多妻制(ZZ公司, “x”)
圣人:K(K).<> = 数字字段(x个^4 - 5*x个^2 + )
圣人:E类 = 椭圆曲线(K(K), [^2 - 2, -^2 + , ^2 - 2, -50*^2 + 35, 95*^2 - 67])
圣人:可约素数(E类,数量_P=10)
[2, 5, 53, 173, 197, 241, 293, 317, 409, 557, 601, 653, 677, 769, 773, 797]
圣人:可约素数(E类,数量_P=15)
[2, 5, 197, 557, 653, 769]
圣人:可约素数(E类,数量_P=20)
[2, 5]
圣人:可约素数(E类)  #长时间
[2, 5]
圣人:[φ.() 对于 φ 在里面 E类.等基因_质数_度()]  #长时间
[2, 2, 2, 5]