Skip to content
This repository was archived by the owner on Feb 1, 2023. It is now read-only.

Commit b1e0f99

Browse files
committed
tests
1 parent 4030d27 commit b1e0f99

File tree

1 file changed

+36
-33
lines changed

1 file changed

+36
-33
lines changed

src/sage/schemes/cyclic_covers/cycliccover_finite_field.py

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33
44
EXAMPLES::
55
6-
sage: p = 5
6+
sage: p = 13
77
sage: x = PolynomialRing(GF(p),"x").gen()
8-
sage: C = CyclicCover(6, x^6 + 1)
8+
sage: C = CyclicCover(4, x^4 + 1)
99
sage: C.frobenius_polynomial()
10-
x^20 + 50*x^18 + 1125*x^16 + 15000*x^14 + 131250*x^12 + 787500*x^10 + 3281250*x^8 + 9375000*x^6 + 17578125*x^4 + 19531250*x^2 + 9765625
10+
x^6 - 6*x^5 + 3*x^4 + 60*x^3 + 39*x^2 - 1014*x + 2197
1111
sage: R.<t> = PowerSeriesRing(Integers())
12-
sage: C.projective_closure().zeta_series(4,t)
13-
1 + 6*t + 81*t^2 + 456*t^3 + 3456*t^4 + O(t^5)
12+
sage: C.projective_closure().zeta_series(2,t)
13+
1 + 8*t + 102*t^2 + O(t^3)
1414
sage: C.frobenius_polynomial().reverse()(t)/((1-t)*(1-p*t)) + O(t^5)
15-
1 + 6*t + 81*t^2 + 456*t^3 + 3456*t^4 + O(t^5)
15+
1 + 8*t + 102*t^2 + 1384*t^3 + 18089*t^4 + O(t^5)
1616
1717
1818
sage: p = 49999
1919
sage: x = PolynomialRing(GF(p),"x").gen()
20-
sage: CyclicCover(5, x^5 + x).frobenius_polynomial()
20+
sage: CyclicCover(5, x^5 + x).frobenius_polynomial() # long time
2121
x^12 + 299994*x^10 + 37498500015*x^8 + 2499850002999980*x^6 + 93742500224997000015*x^4 + 1874812507499850001499994*x^2 + 15623125093747500037499700001
22-
sage: CyclicCover(5, 2*x^5 + x).frobenius_polynomial()
22+
sage: CyclicCover(5, 2*x^5 + x).frobenius_polynomial() # long time
2323
x^12 + 299994*x^10 + 37498500015*x^8 + 2499850002999980*x^6 + 93742500224997000015*x^4 + 1874812507499850001499994*x^2 + 15623125093747500037499700001
2424
2525
sage: p = 107
@@ -92,11 +92,11 @@ def _N0_nodenominators(p, g, n):
9292
9393
TESTS::
9494
95-
sage: sage.schemes.cyclic_covers.cycliccover_finite_field._N0_nodenominators(4, 4999, 5)
96-
12499
95+
sage: sage.schemes.cyclic_covers.cycliccover_finite_field._N0_nodenominators(4999, 4, 5)
96+
11
9797
"""
9898
return max(
99-
[ceil(log(2 * (2 * g) / i, p) + (n * i) / ZZ(2)) for i in range(1, g + 1)]
99+
ceil(log(2 * (2 * g) / ZZ(i), p) + (n * i) / ZZ(2)) for i in range(1, g + 1)
100100
)
101101

102102

@@ -105,16 +105,16 @@ def __init__(self, AA, r, f, names=None, verbose=0):
105105
"""
106106
EXAMPLES::
107107
108-
sage: p = 5
108+
sage: p = 13
109109
sage: x = PolynomialRing(GF(p),"x").gen()
110-
sage: C = CyclicCover(6, x^6 + 1)
110+
sage: C = CyclicCover(4, x^4 + 1)
111111
sage: C.frobenius_polynomial()
112-
x^20 + 50*x^18 + 1125*x^16 + 15000*x^14 + 131250*x^12 + 787500*x^10 + 3281250*x^8 + 9375000*x^6 + 17578125*x^4 + 19531250*x^2 + 9765625
112+
x^6 - 6*x^5 + 3*x^4 + 60*x^3 + 39*x^2 - 1014*x + 2197
113113
sage: R.<t> = PowerSeriesRing(Integers())
114-
sage: C.projective_closure().zeta_series(4,t)
115-
1 + 6*t + 81*t^2 + 456*t^3 + 3456*t^4 + O(t^5)
114+
sage: C.projective_closure().zeta_series(2,t)
115+
1 + 8*t + 102*t^2 + O(t^3)
116116
sage: C.frobenius_polynomial().reverse()(t)/((1-t)*(1-p*t)) + O(t^5)
117-
1 + 6*t + 81*t^2 + 456*t^3 + 3456*t^4 + O(t^5)
117+
1 + 8*t + 102*t^2 + 1384*t^3 + 18089*t^4 + O(t^5)
118118
119119
"""
120120
cycliccover_generic.CyclicCover_generic.__init__(self, AA, r, f, names=names)
@@ -1078,7 +1078,7 @@ def frobenius_polynomial(self):
10781078
10791079
sage: p = 11
10801080
sage: x = PolynomialRing(GF(p),"x").gen()
1081-
sage: f = x^9 + 4*x^2 + 10*x + 4
1081+
sage: f = x^7 + 4*x^2 + 10*x + 4
10821082
sage: CyclicCover(2, f).frobenius_polynomial() == \
10831083
....: HyperellipticCurve(f).frobenius_polynomial()
10841084
True
@@ -1094,7 +1094,7 @@ def frobenius_polynomial(self):
10941094
sage: x = PolynomialRing(GF(p),"x").gen()
10951095
sage: f = x^9 + 4*x^2 + 10*x + 4
10961096
sage: CyclicCover(2, f).frobenius_polynomial() == \
1097-
....: HyperellipticCurve(f).frobenius_polynomial()
1097+
....: HyperellipticCurve(f).frobenius_polynomial() # long time
10981098
True
10991099
sage: f = 2*x^5 + 4*x^3 + x^2 + 2*x + 1
11001100
sage: CyclicCover(2, f).frobenius_polynomial() == \
@@ -1107,10 +1107,13 @@ def frobenius_polynomial(self):
11071107
sage: x = PolynomialRing(GF(p),"x").gen()
11081108
sage: CyclicCover(3, x^4 + 4*x^3 + 9*x^2 + 3*x + 1).frobenius_polynomial()
11091109
x^6 + 21*x^4 + 231*x^2 + 1331
1110-
sage: CyclicCover(4,x^5 + x + 1).frobenius_polynomial()
1111-
x^12 - 4*x^11 + 38*x^10 - 140*x^9 + 743*x^8 - 2200*x^7 + 9812*x^6 - 24200*x^5 + 89903*x^4 - 186340*x^3 + 556358*x^2 - 644204*x + 1771561
1110+
sage: CyclicCover(4, x^3 + x + 1).frobenius_polynomial()
1111+
x^6 + 2*x^5 + 11*x^4 + 121*x^2 + 242*x + 1331
11121112
sage: p = 4999
11131113
sage: x = PolynomialRing(GF(p),"x").gen()
1114+
sage: CyclicCover(4, x^3 - 1).frobenius_polynomial() == \
1115+
....: CyclicCover(3, x^4 + 1).frobenius_polynomial()
1116+
True
11141117
sage: CyclicCover(3, x^4 + 4*x^3 + 9*x^2 + 3*x + 1).frobenius_polynomial()
11151118
x^6 + 180*x^5 + 20988*x^4 + 1854349*x^3 + 104919012*x^2 + 4498200180*x + 124925014999
11161119
sage: CyclicCover(4,x^5 + x + 1).frobenius_polynomial()
@@ -1125,22 +1128,22 @@ def frobenius_polynomial(self):
11251128
11261129
Non-superelliptic curves::
11271130
1128-
sage: p = 5
1131+
sage: p = 13
11291132
sage: x = PolynomialRing(GF(p),"x").gen()
1130-
sage: C = CyclicCover(6, x^6 + 1)
1133+
sage: C = CyclicCover(4, x^4 + 1)
11311134
sage: C.frobenius_polynomial()
1132-
x^20 + 50*x^18 + 1125*x^16 + 15000*x^14 + 131250*x^12 + 787500*x^10 + 3281250*x^8 + 9375000*x^6 + 17578125*x^4 + 19531250*x^2 + 9765625
1135+
x^6 - 6*x^5 + 3*x^4 + 60*x^3 + 39*x^2 - 1014*x + 2197
11331136
sage: R.<t> = PowerSeriesRing(Integers())
1134-
sage: C.projective_closure().zeta_series(4,t)
1135-
1 + 6*t + 81*t^2 + 456*t^3 + 3456*t^4 + O(t^5)
1137+
sage: C.projective_closure().zeta_series(2,t)
1138+
1 + 8*t + 102*t^2 + O(t^3)
11361139
sage: C.frobenius_polynomial().reverse()(t)/((1-t)*(1-p*t)) + O(t^5)
1137-
1 + 6*t + 81*t^2 + 456*t^3 + 3456*t^4 + O(t^5)
1140+
1 + 8*t + 102*t^2 + 1384*t^3 + 18089*t^4 + O(t^5)
11381141
11391142
sage: x = PolynomialRing(GF(11),"x").gen()
1140-
sage: CyclicCover(4, x^6 - 11*x^3 + 70*x^2 - x + 961).frobenius_polynomial()
1143+
sage: CyclicCover(4, x^6 - 11*x^3 + 70*x^2 - x + 961).frobenius_polynomial() # long time
11411144
x^14 + 14*x^12 + 287*x^10 + 3025*x^8 + 33275*x^6 + 381997*x^4 + 2254714*x^2 + 19487171
11421145
sage: x = PolynomialRing(GF(4999),"x").gen()
1143-
sage: CyclicCover(4, x^6 - 11*x^3 + 70*x^2 - x + 961).frobenius_polynomial()
1146+
sage: CyclicCover(4, x^6 - 11*x^3 + 70*x^2 - x + 961).frobenius_polynomial() # long time
11441147
x^14 - 4*x^13 - 2822*x^12 - 30032*x^11 + 37164411*x^10 - 152369520*x^9 + 54217349361*x^8 - 1021791160888*x^7 + 271032529455639*x^6 - 3807714457169520*x^5 + 4642764601604000589*x^4 - 18754988504199390032*x^3 - 8809934776794570547178*x^2 - 62425037490001499880004*x + 78015690603129374475034999
11451148
11461149
sage: p = 11
@@ -1158,15 +1161,15 @@ def frobenius_polynomial(self):
11581161
11591162
sage: p = 11
11601163
sage: x = PolynomialRing(GF(p),"x").gen()
1161-
sage: CyclicCover(5, x^5 + x).frobenius_polynomial()
1164+
sage: CyclicCover(5, x^5 + x).frobenius_polynomial() # long time
11621165
x^12 + 4*x^11 + 22*x^10 + 108*x^9 + 503*x^8 + 1848*x^7 + 5588*x^6 + 20328*x^5 + 60863*x^4 + 143748*x^3 + 322102*x^2 + 644204*x + 1771561
1163-
sage: CyclicCover(5, 2*x^5 + x).frobenius_polynomial()
1166+
sage: CyclicCover(5, 2*x^5 + x).frobenius_polynomial() # long time
11641167
x^12 - 9*x^11 + 42*x^10 - 108*x^9 - 47*x^8 + 1782*x^7 - 8327*x^6 + 19602*x^5 - 5687*x^4 - 143748*x^3 + 614922*x^2 - 1449459*x + 1771561
11651168
sage: p = 49999
11661169
sage: x = PolynomialRing(GF(p),"x").gen()
1167-
sage: CyclicCover(5, x^5 + x ).frobenius_polynomial()
1170+
sage: CyclicCover(5, x^5 + x ).frobenius_polynomial() # long time
11681171
x^12 + 299994*x^10 + 37498500015*x^8 + 2499850002999980*x^6 + 93742500224997000015*x^4 + 1874812507499850001499994*x^2 + 15623125093747500037499700001
1169-
sage: CyclicCover(5, 2*x^5 + x).frobenius_polynomial()
1172+
sage: CyclicCover(5, 2*x^5 + x).frobenius_polynomial() # long time
11701173
x^12 + 299994*x^10 + 37498500015*x^8 + 2499850002999980*x^6 + 93742500224997000015*x^4 + 1874812507499850001499994*x^2 + 15623125093747500037499700001
11711174
11721175

0 commit comments

Comments
 (0)