Skip to content

Commit 669065a

Browse files
author
Matthias Koeppe
committed
Merge branch 'gap_packages_features' into block_tags_with_backslash
2 parents a30ceaf + babd64f commit 669065a

23 files changed

+765
-744
lines changed

src/sage/algebras/quantum_groups/quantum_group_gap.py

Lines changed: 531 additions & 530 deletions
Large diffs are not rendered by default.

src/sage/coding/code_bounds.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,11 @@ def codesize_upper_bound(n, d, q, algorithm=None):
255255
93
256256
sage: codes.bounds.codesize_upper_bound(24,8,2,algorithm="LP")
257257
4096
258-
sage: codes.bounds.codesize_upper_bound(10,3,2,algorithm="gap") # optional - gap_packages (Guava package)
258+
sage: codes.bounds.codesize_upper_bound(10,3,2,algorithm="gap") # optional - gap_package_guava
259259
85
260260
sage: codes.bounds.codesize_upper_bound(11,3,4,algorithm=None)
261261
123361
262-
sage: codes.bounds.codesize_upper_bound(11,3,4,algorithm="gap") # optional - gap_packages (Guava package)
262+
sage: codes.bounds.codesize_upper_bound(11,3,4,algorithm="gap") # optional - gap_package_guava
263263
123361
264264
sage: codes.bounds.codesize_upper_bound(11,3,4,algorithm="LP")
265265
109226
@@ -270,7 +270,7 @@ def codesize_upper_bound(n, d, q, algorithm=None):
270270
271271
sage: codes.bounds.codesize_upper_bound(19,10,2)
272272
20
273-
sage: codes.bounds.codesize_upper_bound(19,10,2,algorithm="gap") # optional - gap_packages (Guava package)
273+
sage: codes.bounds.codesize_upper_bound(19,10,2,algorithm="gap") # optional - gap_package_guava
274274
20
275275
276276
Meaningless parameters are rejected::
@@ -379,7 +379,7 @@ def plotkin_upper_bound(n,q,d, algorithm=None):
379379
380380
sage: codes.bounds.plotkin_upper_bound(10,2,3)
381381
192
382-
sage: codes.bounds.plotkin_upper_bound(10,2,3,algorithm="gap") # optional - gap_packages (Guava package)
382+
sage: codes.bounds.plotkin_upper_bound(10,2,3,algorithm="gap") # optional - gap_package_guava
383383
192
384384
"""
385385
_check_n_q_d(n, q, d, field_based=False)
@@ -430,7 +430,7 @@ def griesmer_upper_bound(n,q,d,algorithm=None):
430430
431431
sage: codes.bounds.griesmer_upper_bound(10,2,3)
432432
128
433-
sage: codes.bounds.griesmer_upper_bound(10,2,3,algorithm="gap") # optional - gap_packages (Guava package)
433+
sage: codes.bounds.griesmer_upper_bound(10,2,3,algorithm="gap") # optional - gap_package_guava
434434
128
435435
436436
TESTS::
@@ -471,7 +471,7 @@ def elias_upper_bound(n,q,d,algorithm=None):
471471
472472
sage: codes.bounds.elias_upper_bound(10,2,3)
473473
232
474-
sage: codes.bounds.elias_upper_bound(10,2,3,algorithm="gap") # optional - gap_packages (Guava package)
474+
sage: codes.bounds.elias_upper_bound(10,2,3,algorithm="gap") # optional - gap_package_guava
475475
232
476476
"""
477477
_check_n_q_d(n, q, d, field_based=False)

src/sage/coding/code_constructions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -731,15 +731,15 @@ def ToricCode(P,F):
731731
[36, 5] linear code over GF(7)
732732
sage: C.minimum_distance()
733733
24
734-
sage: C.minimum_distance(algorithm="guava") # optional - gap_packages (Guava package)
734+
sage: C.minimum_distance(algorithm="guava") # optional - gap_package_guava
735735
...24
736736
sage: C = codes.ToricCode([[-2,-2],[-1,-2],[-1,-1],[-1,0],
737737
....: [0,-1],[0,0],[0,1],[1,-1],[1,0]], GF(5))
738738
sage: C
739739
[16, 9] linear code over GF(5)
740740
sage: C.minimum_distance()
741741
6
742-
sage: C.minimum_distance(algorithm="guava") # optional - gap_packages (Guava package)
742+
sage: C.minimum_distance(algorithm="guava") # optional - gap_package_guava
743743
6
744744
sage: C = codes.ToricCode([[0,0],[1,1],[1,2],[1,3],[1,4],[2,1],
745745
....: [2,2],[2,3],[3,1],[3,2],[4,1]], GF(8,"a"))

src/sage/coding/databases.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ def best_linear_code_in_guava(n, k, F):
3535
3636
EXAMPLES::
3737
38-
sage: codes.databases.best_linear_code_in_guava(10,5,GF(2)) # long time; optional - gap_packages (Guava package)
38+
sage: codes.databases.best_linear_code_in_guava(10,5,GF(2)) # long time; optional - gap_package_guava
3939
[10, 5] linear code over GF(2)
40-
sage: libgap.LoadPackage('guava') # long time; optional - gap_packages (Guava package)
40+
sage: libgap.LoadPackage('guava') # long time; optional - gap_package_guava
4141
...
42-
sage: libgap.BestKnownLinearCode(10,5,libgap.GF(2)) # long time; optional - gap_packages (Guava package)
42+
sage: libgap.BestKnownLinearCode(10,5,libgap.GF(2)) # long time; optional - gap_package_guava
4343
a linear [10,5,4]2..4 shortened code
4444
4545
This means that the best possible binary linear code of length 10 and
@@ -86,8 +86,8 @@ def bounds_on_minimum_distance_in_guava(n, k, F):
8686
8787
EXAMPLES::
8888
89-
sage: gap_rec = codes.databases.bounds_on_minimum_distance_in_guava(10,5,GF(2)) # optional - gap_packages (Guava package)
90-
sage: gap_rec.Display() # optional - gap_packages (Guava package)
89+
sage: gap_rec = codes.databases.bounds_on_minimum_distance_in_guava(10,5,GF(2)) # optional - gap_package_guava
90+
sage: gap_rec.Display() # optional - gap_package_guava
9191
rec(
9292
construction := [ <Operation "ShortenedCode">,
9393
[ [ <Operation "UUVCode">,

src/sage/coding/guava.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def QuasiQuadraticResidueCode(p):
6060
6161
EXAMPLES::
6262
63-
sage: C = codes.QuasiQuadraticResidueCode(11); C # optional - gap_packages (Guava package)
63+
sage: C = codes.QuasiQuadraticResidueCode(11); C # optional - gap_package_guava
6464
[22, 11] linear code over GF(2)
6565
6666
These are self-orthogonal in general and self-dual when `p \equiv 3 \pmod 4`.
@@ -93,9 +93,9 @@ def RandomLinearCodeGuava(n, k, F):
9393
9494
EXAMPLES::
9595
96-
sage: C = codes.RandomLinearCodeGuava(30,15,GF(2)); C # optional - gap_packages (Guava package)
96+
sage: C = codes.RandomLinearCodeGuava(30,15,GF(2)); C # optional - gap_package_guava
9797
[30, 15] linear code over GF(2)
98-
sage: C = codes.RandomLinearCodeGuava(10,5,GF(4,'a')); C # optional - gap_packages (Guava package)
98+
sage: C = codes.RandomLinearCodeGuava(10,5,GF(4,'a')); C # optional - gap_package_guava
9999
[10, 5] linear code over GF(4)
100100
101101
AUTHOR: David Joyner (11-2005)

src/sage/coding/linear_code.py

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ def __init__(self, base_field, length, default_encoder_name, default_decoder_nam
410410
1
411411
sage: C.is_self_orthogonal()
412412
False
413-
sage: print(C.divisor()) #long time
413+
sage: print(C.divisor()) #long time
414414
1
415415
"""
416416
from sage.coding.information_set_decoder import LinearCodeInformationSetDecoder
@@ -910,11 +910,11 @@ def covering_radius(self):
910910
EXAMPLES::
911911
912912
sage: C = codes.HammingCode(GF(2), 5)
913-
sage: C.covering_radius() # optional - gap_packages (Guava package)
913+
sage: C.covering_radius() # optional - gap_package_guava
914914
...1
915915
916916
sage: C = codes.random_linear_code(GF(263), 5, 1)
917-
sage: C.covering_radius() # optional - gap_packages (Guava package)
917+
sage: C.covering_radius() # optional - gap_package_guava
918918
Traceback (most recent call last):
919919
...
920920
NotImplementedError: the GAP algorithm that Sage is using
@@ -1373,7 +1373,7 @@ def minimum_distance(self, algorithm=None):
13731373
sage: C.minimum_distance(algorithm="gap") # optional - sage.libs.gap
13741374
3
13751375
sage: libgap.SetAllInfoLevels(0) # to suppress extra info messages # optional - sage.libs.gap
1376-
sage: C.minimum_distance(algorithm="guava") # optional - gap_packages (Guava package)
1376+
sage: C.minimum_distance(algorithm="guava") # optional - gap_package_guava
13771377
...3
13781378
13791379
TESTS::
@@ -1610,13 +1610,13 @@ def permutation_automorphism_group(self, algorithm="partition"):
16101610
[5, 3] Hamming Code over GF(4)
16111611
sage: G = C.permutation_automorphism_group(algorithm="partition"); G # optional - sage.groups
16121612
Permutation Group with generators [(1,3)(4,5), (1,4)(3,5)]
1613-
sage: GG = C.permutation_automorphism_group(algorithm="codecan") # long time, optional - sage.groups
1614-
sage: GG == G # long time, optional - sage.groups
1613+
sage: GG = C.permutation_automorphism_group(algorithm="codecan") # long time, optional - sage.groups
1614+
sage: GG == G # long time, optional - sage.groups
16151615
True
1616-
sage: C.permutation_automorphism_group(algorithm="gap") # optional - gap_packages (Guava package) sage.groups
1616+
sage: C.permutation_automorphism_group(algorithm="gap") # optional - gap_package_guava sage.groups
16171617
Permutation Group with generators [(1,3)(4,5), (1,4)(3,5)]
16181618
sage: C = codes.GolayCode(GF(3), True)
1619-
sage: C.permutation_automorphism_group(algorithm="gap") # optional - gap_packages (Guava package) sage.groups
1619+
sage: C.permutation_automorphism_group(algorithm="gap") # optional - gap_package_guava sage.groups
16201620
Permutation Group with generators
16211621
[(5,7)(6,11)(8,9)(10,12), (4,6,11)(5,8,12)(7,10,9), (3,4)(6,8)(9,11)(10,12),
16221622
(2,3)(6,11)(8,12)(9,10), (1,2)(5,10)(7,12)(8,9)]
@@ -1837,23 +1837,25 @@ def weight_distribution(self, algorithm=None):
18371837
[1, 0, 0, 30, 15, 18]
18381838
sage: C = codes.HammingCode(GF(2), 3); C
18391839
[7, 4] Hamming Code over GF(2)
1840-
sage: C.weight_distribution(algorithm="leon") # optional - gap_packages (Guava package)
1840+
sage: C.weight_distribution(algorithm="leon") # optional - gap_package_guava
18411841
[1, 0, 0, 7, 7, 0, 0, 1]
18421842
sage: C.weight_distribution(algorithm="gap") # optional - sage.libs.gap
18431843
[1, 0, 0, 7, 7, 0, 0, 1]
18441844
sage: C.weight_distribution(algorithm="binary")
18451845
[1, 0, 0, 7, 7, 0, 0, 1]
1846+
1847+
sage: # optional - gap_package_guava
18461848
sage: C = codes.HammingCode(GF(3), 3); C
18471849
[13, 10] Hamming Code over GF(3)
1848-
sage: C.weight_distribution() == C.weight_distribution(algorithm="leon") # optional - gap_packages (Guava package)
1850+
sage: C.weight_distribution() == C.weight_distribution(algorithm="leon")
18491851
True
18501852
sage: C = codes.HammingCode(GF(5), 2); C
18511853
[6, 4] Hamming Code over GF(5)
1852-
sage: C.weight_distribution() == C.weight_distribution(algorithm="leon") # optional - gap_packages (Guava package)
1854+
sage: C.weight_distribution() == C.weight_distribution(algorithm="leon")
18531855
True
18541856
sage: C = codes.HammingCode(GF(7), 2); C
18551857
[8, 6] Hamming Code over GF(7)
1856-
sage: C.weight_distribution() == C.weight_distribution(algorithm="leon") # optional - gap_packages (Guava package)
1858+
sage: C.weight_distribution() == C.weight_distribution(algorithm="leon")
18571859
True
18581860
18591861
"""
@@ -1999,14 +2001,17 @@ def zeta_polynomial(self, name="T"):
19992001
sage: C = codes.HammingCode(GF(2), 3)
20002002
sage: C.zeta_polynomial()
20012003
2/5*T^2 + 2/5*T + 1/5
2002-
sage: C = codes.databases.best_linear_code_in_guava(6,3,GF(2)) # optional - gap_packages (Guava package)
2003-
sage: C.minimum_distance() # optional - gap_packages (Guava package)
2004+
2005+
sage: C = codes.databases.best_linear_code_in_guava(6, 3, GF(2)) # optional - gap_package_guava
2006+
sage: C.minimum_distance() # optional - gap_package_guava
20042007
3
2005-
sage: C.zeta_polynomial() # optional - gap_packages (Guava package)
2008+
sage: C.zeta_polynomial() # optional - gap_package_guava
20062009
2/5*T^2 + 2/5*T + 1/5
2010+
20072011
sage: C = codes.HammingCode(GF(2), 4)
20082012
sage: C.zeta_polynomial()
20092013
16/429*T^6 + 16/143*T^5 + 80/429*T^4 + 32/143*T^3 + 30/143*T^2 + 2/13*T + 1/13
2014+
20102015
sage: F.<z> = GF(4,"z")
20112016
sage: MS = MatrixSpace(F, 3, 6)
20122017
sage: G = MS([[1,0,0,1,z,z],[0,1,0,z,1,z],[0,0,1,z,z,1]])
@@ -2599,7 +2604,7 @@ class LinearCodeSyndromeDecoder(Decoder):
25992604
We build a first syndrome decoder, and pick a ``maximum_error_weight``
26002605
smaller than both the covering radius and half the minimum distance::
26012606
2602-
sage: D = C.decoder("Syndrome", maximum_error_weight = 1)
2607+
sage: D = C.decoder("Syndrome", maximum_error_weight=1)
26032608
sage: D.decoder_type()
26042609
{'always-succeed', 'bounded_distance', 'hard-decision'}
26052610
sage: D.decoding_radius()
@@ -2612,7 +2617,7 @@ class LinearCodeSyndromeDecoder(Decoder):
26122617
``maximum_error_weight`` is chosen to be bigger than half the minimum distance,
26132618
but lower than the covering radius::
26142619
2615-
sage: D = C.decoder("Syndrome", maximum_error_weight = 3)
2620+
sage: D = C.decoder("Syndrome", maximum_error_weight=3)
26162621
sage: D.decoder_type()
26172622
{'bounded_distance', 'hard-decision', 'might-error'}
26182623
sage: D.decoding_radius()
@@ -2626,10 +2631,10 @@ class LinearCodeSyndromeDecoder(Decoder):
26262631
And now, we build a third syndrome decoder, whose ``maximum_error_weight``
26272632
is bigger than both the covering radius and half the minimum distance::
26282633
2629-
sage: D = C.decoder("Syndrome", maximum_error_weight = 5) # long time
2630-
sage: D.decoder_type() # long time
2634+
sage: D = C.decoder("Syndrome", maximum_error_weight=5) # long time
2635+
sage: D.decoder_type() # long time
26312636
{'complete', 'hard-decision', 'might-error'}
2632-
sage: D.decoding_radius() # long time
2637+
sage: D.decoding_radius() # long time
26332638
4
26342639
26352640
In that case, the decoder might still return an unexpected codeword, but

src/sage/coding/linear_code_no_metric.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,8 +1004,8 @@ def is_self_orthogonal(self):
10041004
sage: C = codes.HammingCode(GF(2), 3)
10051005
sage: C.is_self_orthogonal()
10061006
False
1007-
sage: C = codes.QuasiQuadraticResidueCode(11) # optional - gap_packages (Guava package)
1008-
sage: C.is_self_orthogonal() # optional - gap_packages (Guava package)
1007+
sage: C = codes.QuasiQuadraticResidueCode(11) # optional - gap_package_guava
1008+
sage: C.is_self_orthogonal() # optional - gap_package_guava
10091009
True
10101010
"""
10111011
return self.is_subcode(self.dual_code())

src/sage/combinat/designs/block_design.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ def ProjectiveGeometryDesign(n, d, F, algorithm=None, point_coordinates=True, ch
245245
246246
Check that the constructor using gap also works::
247247
248-
sage: BD = designs.ProjectiveGeometryDesign(2, 1, GF(2), algorithm="gap") # optional - gap_packages (design package)
249-
sage: BD.is_t_design(return_parameters=True) # optional - gap_packages (design package)
248+
sage: BD = designs.ProjectiveGeometryDesign(2, 1, GF(2), algorithm="gap") # optional - gap_package_design
249+
sage: BD.is_t_design(return_parameters=True) # optional - gap_package_design
250250
(True, (2, 7, 3, 1))
251251
"""
252252
try:
@@ -934,12 +934,12 @@ def WittDesign(n):
934934
935935
EXAMPLES::
936936
937-
sage: BD = designs.WittDesign(9) # optional - gap_packages (design package)
938-
sage: BD.is_t_design(return_parameters=True) # optional - gap_packages (design package)
937+
sage: BD = designs.WittDesign(9) # optional - gap_package_design
938+
sage: BD.is_t_design(return_parameters=True) # optional - gap_package_design
939939
(True, (2, 9, 3, 1))
940-
sage: BD # optional - gap_packages (design package)
940+
sage: BD # optional - gap_package_design
941941
Incidence structure with 9 points and 12 blocks
942-
sage: print(BD) # optional - gap_packages (design package)
942+
sage: print(BD) # optional - gap_package_design
943943
Incidence structure with 9 points and 12 blocks
944944
"""
945945
libgap.load_package("design")

src/sage/combinat/designs/database.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4464,9 +4464,9 @@ def HigmanSimsDesign():
44644464
44654465
EXAMPLES::
44664466
4467-
sage: H = designs.HigmanSimsDesign(); H # optional - gap_packages
4467+
sage: H = designs.HigmanSimsDesign(); H # optional - gap_package_design
44684468
Incidence structure with 176 points and 176 blocks
4469-
sage: H.is_t_design(return_parameters=1) # optional - gap_packages
4469+
sage: H.is_t_design(return_parameters=1) # optional - gap_package_design
44704470
(True, (2, 176, 50, 14))
44714471
44724472
Make sure that the automorphism group of this designs is isomorphic to the
@@ -4475,9 +4475,9 @@ def HigmanSimsDesign():
44754475
first of those permutation groups acts on 176 points, while the second acts
44764476
on 100::
44774477
4478-
sage: gH = H.automorphism_group() # optional - gap_packages
4479-
sage: gG = graphs.HigmanSimsGraph().automorphism_group() # optional - gap_packages
4480-
sage: gG.is_isomorphic(gG) # long time # optional - gap_packages
4478+
sage: gH = H.automorphism_group() # optional - gap_package_design
4479+
sage: gG = graphs.HigmanSimsGraph().automorphism_group() # optional - gap_package_design
4480+
sage: gG.is_isomorphic(gG) # long time, optional - gap_package_design
44814481
True
44824482
44834483
REFERENCE:

src/sage/combinat/designs/design_catalog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
This module gathers all designs that can be reached through
55
``designs.<tab>``. Example with the Witt design on 24 points::
66
7-
sage: designs.WittDesign(24) # optional - gap_packages
7+
sage: designs.WittDesign(24) # optional - gap_package_design
88
Incidence structure with 24 points and 759 blocks
99
1010
Or a Steiner Triple System on 19 points::

0 commit comments

Comments
 (0)