登录
最小素数模p,使得在Z/pZ上存在n个颜色的乘法集Ramsey代数,如果不存在这样的素数,则为0。
4

%I#52 2019年12月7日12:18:28

%S 2,5,13,41,71,97491,05231181947769,17091291121740132521,

%电话:1901280119333257322141293701488955638849632355216263,

%电话:5441877974817841100091346912161897114561133671999314621124971440114537201171891322541229011968729537

%N最小素数模p,使得在Z/pZ上存在N个颜色的乘法集Ramsey代数,如果不存在这样的素数,则为0。

%C a(8)=0表示没有满足条件的素数。a(n)已知为1≤n≤2000。

%H Jeremy F.Alm,<a href=“/A263308/b263308.txt”>n,a(n)表,n=1..2000</a>

%H Jeremy F.Alm和Jacob Manske,<a href=“http://dx.doi.org/10.1016/j.dam.2014.08.002“>Ramsey代数的无和循环多基与构造</a>,《离散应用数学》,(180),2015年1月10日,第204-212页。(<a href=“http://arxiv.org/abs/1307.0889“>arXiv:1307.0889</a>[math.CO],2013-2014。)

%H Jeremy F.Alm,<a href=“https://cs.uwaterloo.ca/journals/JIS/VOL20/Alm/Alm.html“>401及以后:Ramsey代数搜索的改进边界和算法,整数序列杂志,第20卷(2017年),第17.8.4条。(另请点击此处:<a href=“https://arxiv.org/abs/1609.01817“>arXiv:1609.01817</a>[math.NT],2016年。)

%H托马斯·科瓦尔斯基,<a href=“http://dx.doi.org/10.1007/s00012-015-0353-0“>Ramsey关系代数的可表示性</a>,《普遍代数》,第74卷,第3-4期,2015年11月,第265-275页。

%o(Python)

%o将numpy导入为np

%o导入itertools

%o从副本导入副本

%o来自sympy.theory.residue_notheory导入原语root

%o定义psieve():

%o表示[2,3,5,7]中的n:

%o产量n

%o D={}

%o ps=磅/平方英寸()

%o下一个(ps)

%o p=下一个(ps)

%o断言p==3

%o psq=p*p

%o表示itertools.count(9,2)中的i:

%o如果i在D中:

%o步骤=D.pop(i)

%o elif i<psq:

%o产量i

%o继续

%o其他:

%o断言i==psq

%o步长=2*p

%o p=下一个(ps)

%o psq=p*p

%o i+=步长

%o当i在D中时:

%o i+=步长

%o D[i]=步进

%o定义check_p_m_v6(p,m,g):

%o“”检查m个颜色的本原根为g的素数p“”

%o X0=np数组([pow(g,i,p),对于范围(0,p-m,m)内的i)

%o证书=np.array([pow(g,i,p)for i in range(m)])

%o C_minus_X0=((证书[:,np.newaxis]-X0)%p)

%o C_minus_X0_sets=[为C_minos_X0中的L设置(L)]

%o对于范围(m)内的i:

%o Xi={pow(g,x+i,p),对于范围(0,p-m,m)}中的x

%o对于范围(i,m)中的j:

%o如果bool(Xi.交集(C_minus_X0_sets[j])==bool(j==0):

%o返回False

%o返回True

%o定义主要(mikelist):

%o''接受m的列表,检查所有候选素数,直到找到一个有效的。

%o当m=8或m=13''时不会终止

%o lget=primitive_root###给出函数的本地名称###

%o lcheck=检查_p_m_v6

%o打开(“401output.csv”,'a')作为文件:

%o mikelist中的mike:

%o素数=psieve()

%o素数=下一个(素数)

%o素数<2*mike**2-4*mike时:

%o素数=下一个(素数)

%o为True时:

%o如果(质数-1)/2%mike==0:

%o gen=lget(素数)

%o p_out=lcheck(prime、mike、gen)

%o如果p_out==真:

%o打印麦克风,prime,gen

%o文件.write(str(mike)+','+str(prime)+'、'+str-(gen)+'\n')

%o中断

%o素数=下一个(素数)

%o mrange=范围(2.8)+范围(9,13)+范围(14101)#一个好的起点

%o主管道(mrange)

%K非n

%O 1,1号机组

%A _Jeremy F.Alm_,2015年10月13日

%E更多条款来自Jeremy F.Alm_,2016年9月5日