def f®:
d=[0]*200
e=[0]*200
d[0]=ceil®;
e[0]=1/(d[0]-r);
for i in range(1,8):
d[i]=ceil(e[i-1]);
e[i]=1/(d[i]-e[i-1]);
M=MatrixSpace(ZZ,8,1)
d=M(d)
return transpose(d)
f(N(sqrt(163)))
二次域得到类数与上面的连分数有关,周期为n1,。。。,nr时,其和/3-r为二次域的类数,在p为模4余3时成立
def f§:
K.=QuadraticField(-p);
OK=K.ring_of_integers()
C=OK.class_group();C
return C.order()
[print(p,f§) for p in primes(20)]
2 1
3 1
5 2
7 1
11 1
13 2
17 4
19 1