68
68
69
69
EXAMPLES::
70
70
71
- sage: # long time
72
71
sage: P2.<x,y,z> = ProjectiveSpace(GF(17), 2)
73
72
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
74
73
sage: F = C.function_field()
@@ -155,7 +154,6 @@ class JacobianPoint(JacobianPoint_base):
155
154
156
155
EXAMPLES::
157
156
158
- sage: # long time
159
157
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
160
158
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
161
159
sage: b = C([0,1,0]).place()
@@ -178,7 +176,6 @@ def __init__(self, parent, w):
178
176
179
177
TESTS::
180
178
181
- sage: # long time
182
179
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
183
180
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
184
181
sage: b = C([0,1,0]).place()
@@ -199,7 +196,6 @@ def _repr_(self):
199
196
200
197
EXAMPLES::
201
198
202
- sage: # long time
203
199
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
204
200
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
205
201
sage: h = C.function(y/x).divisor_of_poles()
@@ -222,7 +218,6 @@ def __hash__(self):
222
218
223
219
EXAMPLES::
224
220
225
- sage: # long time
226
221
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
227
222
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
228
223
sage: F = C.function_field()
@@ -247,7 +242,6 @@ def _richcmp_(self, other, op):
247
242
248
243
EXAMPLES::
249
244
250
- sage: # long time
251
245
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
252
246
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
253
247
sage: h = C.function(y/x).divisor_of_poles()
@@ -281,7 +275,6 @@ def _add_(self, other):
281
275
282
276
EXAMPLES::
283
277
284
- sage: # long time
285
278
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
286
279
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
287
280
sage: h = C.function(y/x).divisor_of_poles()
@@ -313,7 +306,6 @@ def _neg_(self):
313
306
314
307
EXAMPLES::
315
308
316
- sage: # long time
317
309
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
318
310
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
319
311
sage: F = C.function_field()
@@ -348,7 +340,6 @@ def _rmul_(self, n):
348
340
349
341
EXAMPLES::
350
342
351
- sage: # long time
352
343
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
353
344
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
354
345
sage: h = C.function(y/x).divisor_of_poles()
@@ -372,7 +363,6 @@ def multiple(self, n):
372
363
373
364
EXAMPLES::
374
365
375
- sage: # long time
376
366
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
377
367
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
378
368
sage: h = C.function(y/x).divisor_of_poles()
@@ -404,7 +394,6 @@ def addflip(self, other):
404
394
405
395
EXAMPLES::
406
396
407
- sage: # long time
408
397
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
409
398
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
410
399
sage: h = C.function(y/x).divisor_of_poles()
@@ -437,7 +426,6 @@ def defining_matrix(self):
437
426
438
427
EXAMPLES::
439
428
440
- sage: # long time
441
429
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
442
430
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
443
431
sage: h = C.function(y/x).divisor_of_poles()
@@ -462,7 +450,6 @@ def divisor(self):
462
450
463
451
EXAMPLES::
464
452
465
- sage: # long time
466
453
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
467
454
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
468
455
sage: F = C.function_field()
@@ -506,7 +493,6 @@ class JacobianGroupEmbedding(Map):
506
493
507
494
EXAMPLES::
508
495
509
- sage: # long time
510
496
sage: k = GF(5)
511
497
sage: P2.<x,y,z> = ProjectiveSpace(k, 2)
512
498
sage: C = Curve(x^3 + z^3 - y^2*z, P2)
@@ -528,7 +514,6 @@ def __init__(self, base_group, extension_group):
528
514
529
515
TESTS::
530
516
531
- sage: # long time
532
517
sage: k = GF(5)
533
518
sage: P2.<x,y,z> = ProjectiveSpace(k, 2)
534
519
sage: C = Curve(x^3 + z^3 - y^2*z, P2)
@@ -553,7 +538,6 @@ def _repr_type(self):
553
538
554
539
TESTS::
555
540
556
- sage: # long time
557
541
sage: k = GF(5)
558
542
sage: P2.<x,y,z> = ProjectiveSpace(k, 2)
559
543
sage: C = Curve(x^3 + z^3 - y^2*z, P2)
@@ -577,7 +561,6 @@ def _call_(self, x):
577
561
578
562
TESTS::
579
563
580
- sage: # long time
581
564
sage: k = GF(5)
582
565
sage: P2.<x,y,z> = ProjectiveSpace(k, 2)
583
566
sage: C = Curve(x^3 + z^3 - y^2*z, P2)
@@ -609,7 +592,6 @@ class JacobianGroup(UniqueRepresentation, JacobianGroup_base):
609
592
610
593
EXAMPLES::
611
594
612
- sage: # long time
613
595
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
614
596
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
615
597
sage: h = C.function(y/x).divisor_of_poles()
@@ -627,7 +609,6 @@ def __init__(self, parent, function_field, base_div):
627
609
628
610
TESTS::
629
611
630
- sage: # long time
631
612
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
632
613
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
633
614
sage: h = C.function(y/x).divisor_of_poles()
@@ -639,18 +620,14 @@ def __init__(self, parent, function_field, base_div):
639
620
D0 = base_div
640
621
641
622
self ._base_div_degree = base_div .degree ()
642
- self ._V_cache = 10 * [None ]
643
-
644
- V_cache = self ._V_cache
623
+ self ._V_cache = dict ()
645
624
646
625
def V (n ):
647
- if n in V_cache :
648
- return V_cache [n ]
649
-
650
- Vn , from_Vn , to_Vn = (n * D0 ).function_space ()
651
- V_cache [n ] = (Vn , from_Vn , to_Vn )
626
+ if n in self ._V_cache :
627
+ return self ._V_cache [n ]
652
628
653
- return Vn , from_Vn , to_Vn
629
+ self ._V_cache [n ] = (n * D0 ).function_space ()
630
+ return self ._V_cache [n ]
654
631
655
632
def mu (n , m , i , j ):
656
633
Vn , from_Vn , to_Vn = V (n )
@@ -692,7 +669,6 @@ def _repr_(self):
692
669
693
670
EXAMPLES::
694
671
695
- sage: # long time
696
672
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
697
673
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
698
674
sage: h = C.function(y/x).divisor_of_poles()
@@ -714,7 +690,6 @@ def _wd_from_divisor(self, x):
714
690
715
691
TESTS:
716
692
717
- sage: # long time
718
693
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
719
694
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
720
695
sage: h = C.function(y/x).divisor_of_poles()
@@ -741,7 +716,6 @@ def _element_constructor_(self, x):
741
716
742
717
TESTS::
743
718
744
- sage: # long time
745
719
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
746
720
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
747
721
sage: h = C.function(y/x).divisor_of_poles()
@@ -800,7 +774,6 @@ def point(self, divisor):
800
774
801
775
EXAMPLES::
802
776
803
- sage: # long time
804
777
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
805
778
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
806
779
sage: h = C.function(y/x).divisor_of_poles()
@@ -834,7 +807,6 @@ def zero(self):
834
807
835
808
EXAMPLES::
836
809
837
- sage: # long time
838
810
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
839
811
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
840
812
sage: h = C.function(y/x).divisor_of_poles()
@@ -866,7 +838,6 @@ class JacobianGroup_finite_field(JacobianGroup, JacobianGroup_finite_field_base)
866
838
867
839
EXAMPLES::
868
840
869
- sage: # long time
870
841
sage: k = GF(7)
871
842
sage: P2.<x,y,z> = ProjectiveSpace(k, 2)
872
843
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
@@ -890,7 +861,6 @@ def __init__(self, parent, function_field, base_div):
890
861
891
862
TESTS::
892
863
893
- sage: # long time
894
864
sage: k = GF(7)
895
865
sage: P2.<x,y,z> = ProjectiveSpace(k, 2)
896
866
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
@@ -981,7 +951,6 @@ def _frobenius_on(self, pt):
981
951
982
952
TESTS::
983
953
984
- sage: # long time
985
954
sage: k = GF(7)
986
955
sage: A.<x,y> = AffineSpace(k,2)
987
956
sage: C = Curve(y^2 + x^3 + 2*x + 1).projective_closure()
@@ -1016,15 +985,13 @@ def __init__(self, function_field, base_div, model, **kwds):
1016
985
1017
986
TESTS::
1018
987
1019
- sage: # long time
1020
988
sage: P2.<x,y,z> = ProjectiveSpace(GF(7), 2)
1021
989
sage: C = Curve(x^3 + 5*z^3 - y^2*z, P2)
1022
990
sage: J = C.jacobian(model='km_large')
1023
991
sage: TestSuite(J).run(skip=['_test_elements', '_test_pickling'])
1024
992
1025
993
::
1026
994
1027
- sage: # long time
1028
995
sage: J = C.jacobian(model='km_unknown')
1029
996
Traceback (most recent call last):
1030
997
...
0 commit comments