Skip to content

Commit da79fa4

Browse files
author
Matthias Koeppe
committed
sage.combinat: Add # optional
1 parent 7f11106 commit da79fa4

File tree

2 files changed

+66
-63
lines changed

2 files changed

+66
-63
lines changed

src/sage/combinat/designs/block_design.py

Lines changed: 64 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -320,15 +320,15 @@ def DesarguesianProjectivePlaneDesign(n, point_coordinates=True, check=True):
320320
321321
EXAMPLES::
322322
323-
sage: designs.DesarguesianProjectivePlaneDesign(2)
323+
sage: designs.DesarguesianProjectivePlaneDesign(2) # optional - sage.rings.finite_rings
324324
(7,3,1)-Balanced Incomplete Block Design
325-
sage: designs.DesarguesianProjectivePlaneDesign(3)
325+
sage: designs.DesarguesianProjectivePlaneDesign(3) # optional - sage.rings.finite_rings
326326
(13,4,1)-Balanced Incomplete Block Design
327-
sage: designs.DesarguesianProjectivePlaneDesign(4)
327+
sage: designs.DesarguesianProjectivePlaneDesign(4) # optional - sage.rings.finite_rings
328328
(21,5,1)-Balanced Incomplete Block Design
329-
sage: designs.DesarguesianProjectivePlaneDesign(5)
329+
sage: designs.DesarguesianProjectivePlaneDesign(5) # optional - sage.rings.finite_rings
330330
(31,6,1)-Balanced Incomplete Block Design
331-
sage: designs.DesarguesianProjectivePlaneDesign(6)
331+
sage: designs.DesarguesianProjectivePlaneDesign(6) # optional - sage.rings.finite_rings
332332
Traceback (most recent call last):
333333
...
334334
ValueError: the order of a finite field must be a prime power
@@ -402,20 +402,20 @@ def q3_minus_one_matrix(K):
402402
EXAMPLES::
403403
404404
sage: from sage.combinat.designs.block_design import q3_minus_one_matrix
405-
sage: m = q3_minus_one_matrix(GF(3))
406-
sage: m.multiplicative_order() == 3**3 - 1
405+
sage: m = q3_minus_one_matrix(GF(3)) # optional - sage.rings.finite_rings
406+
sage: m.multiplicative_order() == 3**3 - 1 # optional - sage.rings.finite_rings
407407
True
408408
409-
sage: m = q3_minus_one_matrix(GF(4, 'a'))
410-
sage: m.multiplicative_order() == 4**3 - 1
409+
sage: m = q3_minus_one_matrix(GF(4, 'a')) # optional - sage.rings.finite_rings
410+
sage: m.multiplicative_order() == 4**3 - 1 # optional - sage.rings.finite_rings
411411
True
412412
413-
sage: m = q3_minus_one_matrix(GF(5))
414-
sage: m.multiplicative_order() == 5**3 - 1
413+
sage: m = q3_minus_one_matrix(GF(5)) # optional - sage.rings.finite_rings
414+
sage: m.multiplicative_order() == 5**3 - 1 # optional - sage.rings.finite_rings
415415
True
416416
417-
sage: m = q3_minus_one_matrix(GF(9, 'a'))
418-
sage: m.multiplicative_order() == 9**3 - 1
417+
sage: m = q3_minus_one_matrix(GF(9, 'a')) # optional - sage.rings.finite_rings
418+
sage: m.multiplicative_order() == 9**3 - 1 # optional - sage.rings.finite_rings
419419
True
420420
"""
421421
q = K.cardinality()
@@ -452,24 +452,24 @@ def normalize_hughes_plane_point(p, q):
452452
453453
INPUT:
454454
455-
- ``p`` -- point with the coordinates `(x,y,z)` (a list, a vector, a tuple...)
455+
- ``p`` -- point with the coordinates (x,y,z) (a list, a vector, a tuple...)
456456
457457
- ``q`` -- cardinality of the underlying finite field
458458
459459
EXAMPLES::
460460
461461
sage: from sage.combinat.designs.block_design import normalize_hughes_plane_point
462-
sage: K = FiniteField(9,'x')
463-
sage: x = K.gen()
464-
sage: normalize_hughes_plane_point((x, x + 1, x), 9)
462+
sage: K = FiniteField(9,'x') # optional - sage.rings.finite_rings
463+
sage: x = K.gen() # optional - sage.rings.finite_rings
464+
sage: normalize_hughes_plane_point((x, x+1, x), 9) # optional - sage.rings.finite_rings
465465
(1, x, 1)
466-
sage: normalize_hughes_plane_point(vector((x,x,x)), 9)
466+
sage: normalize_hughes_plane_point(vector((x,x,x)), 9) # optional - sage.rings.finite_rings
467467
(1, 1, 1)
468-
sage: zero = K.zero()
469-
sage: normalize_hughes_plane_point((2*x + 2, zero, zero), 9)
468+
sage: zero = K.zero() # optional - sage.rings.finite_rings
469+
sage: normalize_hughes_plane_point((2*x+2, zero, zero), 9) # optional - sage.rings.finite_rings
470470
(1, 0, 0)
471-
sage: one = K.one()
472-
sage: normalize_hughes_plane_point((2*x, one, zero), 9)
471+
sage: one = K.one() # optional - sage.rings.finite_rings
472+
sage: normalize_hughes_plane_point((2*x, one, zero), 9) # optional - sage.rings.finite_rings
473473
(2*x, 1, 0)
474474
"""
475475
for i in [2,1,0]:
@@ -528,7 +528,7 @@ def HughesPlane(q2, check=True):
528528
529529
EXAMPLES::
530530
531-
sage: H = designs.HughesPlane(9); H
531+
sage: H = designs.HughesPlane(9); H # optional - sage.rings.finite_rings
532532
(91,10,1)-Balanced Incomplete Block Design
533533
534534
We prove in the following computations that the Desarguesian plane ``H`` is
@@ -537,45 +537,45 @@ def HughesPlane(q2, check=True):
537537
`D_{1,10} \cap D_{70,59}` and `D_{10,0} \cap D_{59,57}` are on the same line
538538
while `D_{0,70}`, `D_{1,59}` and `D_{10,57}` are not concurrent::
539539
540-
sage: blocks = H.blocks()
541-
sage: line = lambda p,q: next(b for b in blocks if p in b and q in b)
540+
sage: blocks = H.blocks() # optional - sage.rings.finite_rings
541+
sage: line = lambda p,q: next(b for b in blocks if p in b and q in b) # optional - sage.rings.finite_rings
542542
543-
sage: b_0_1 = line(0, 1)
544-
sage: b_1_10 = line(1, 10)
545-
sage: b_10_0 = line(10, 0)
546-
sage: b_57_70 = line(57, 70)
547-
sage: b_70_59 = line(70, 59)
548-
sage: b_59_57 = line(59, 57)
543+
sage: b_0_1 = line(0, 1) # optional - sage.rings.finite_rings
544+
sage: b_1_10 = line(1, 10) # optional - sage.rings.finite_rings
545+
sage: b_10_0 = line(10, 0) # optional - sage.rings.finite_rings
546+
sage: b_57_70 = line(57, 70) # optional - sage.rings.finite_rings
547+
sage: b_70_59 = line(70, 59) # optional - sage.rings.finite_rings
548+
sage: b_59_57 = line(59, 57) # optional - sage.rings.finite_rings
549549
550-
sage: set(b_0_1).intersection(b_57_70)
550+
sage: set(b_0_1).intersection(b_57_70) # optional - sage.rings.finite_rings
551551
{2}
552-
sage: set(b_1_10).intersection(b_70_59)
552+
sage: set(b_1_10).intersection(b_70_59) # optional - sage.rings.finite_rings
553553
{73}
554-
sage: set(b_10_0).intersection(b_59_57)
554+
sage: set(b_10_0).intersection(b_59_57) # optional - sage.rings.finite_rings
555555
{60}
556556
557-
sage: line(2, 73) == line(73, 60)
557+
sage: line(2, 73) == line(73, 60) # optional - sage.rings.finite_rings
558558
True
559559
560-
sage: b_0_57 = line(0, 57)
561-
sage: b_1_70 = line(1, 70)
562-
sage: b_10_59 = line(10, 59)
560+
sage: b_0_57 = line(0, 57) # optional - sage.rings.finite_rings
561+
sage: b_1_70 = line(1, 70) # optional - sage.rings.finite_rings
562+
sage: b_10_59 = line(10, 59) # optional - sage.rings.finite_rings
563563
564-
sage: p = set(b_0_57).intersection(b_1_70)
565-
sage: q = set(b_1_70).intersection(b_10_59)
566-
sage: p == q
564+
sage: p = set(b_0_57).intersection(b_1_70) # optional - sage.rings.finite_rings
565+
sage: q = set(b_1_70).intersection(b_10_59) # optional - sage.rings.finite_rings
566+
sage: p == q # optional - sage.rings.finite_rings
567567
False
568568
569569
TESTS:
570570
571571
Some wrong input::
572572
573-
sage: designs.HughesPlane(5)
573+
sage: designs.HughesPlane(5) # optional - sage.rings.finite_rings
574574
Traceback (most recent call last):
575575
...
576576
EmptySetError: No Hughes plane of non-square order exists.
577577
578-
sage: designs.HughesPlane(16)
578+
sage: designs.HughesPlane(16) # optional - sage.rings.finite_rings
579579
Traceback (most recent call last):
580580
...
581581
EmptySetError: No Hughes plane of even order exists.
@@ -646,11 +646,13 @@ def projective_plane_to_OA(pplane, pt=None, check=True):
646646
EXAMPLES::
647647
648648
sage: from sage.combinat.designs.block_design import projective_plane_to_OA
649-
sage: p2 = designs.DesarguesianProjectivePlaneDesign(2, point_coordinates=False)
650-
sage: projective_plane_to_OA(p2)
649+
sage: p2 = designs.DesarguesianProjectivePlaneDesign(2, # optional - sage.rings.finite_rings
650+
....: point_coordinates=False)
651+
sage: projective_plane_to_OA(p2) # optional - sage.rings.finite_rings
651652
[[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 0]]
652-
sage: p3 = designs.DesarguesianProjectivePlaneDesign(3, point_coordinates=False)
653-
sage: projective_plane_to_OA(p3)
653+
sage: p3 = designs.DesarguesianProjectivePlaneDesign(3, # optional - sage.rings.finite_rings
654+
....: point_coordinates=False)
655+
sage: projective_plane_to_OA(p3) # optional - sage.rings.finite_rings
654656
[[0, 0, 0, 0],
655657
[0, 1, 2, 1],
656658
[0, 2, 1, 2],
@@ -661,10 +663,11 @@ def projective_plane_to_OA(pplane, pt=None, check=True):
661663
[2, 1, 0, 2],
662664
[2, 2, 2, 0]]
663665
664-
sage: pp = designs.DesarguesianProjectivePlaneDesign(16, point_coordinates=False)
665-
sage: _ = projective_plane_to_OA(pp, pt=0)
666-
sage: _ = projective_plane_to_OA(pp, pt=3)
667-
sage: _ = projective_plane_to_OA(pp, pt=7)
666+
sage: pp = designs.DesarguesianProjectivePlaneDesign(16, # optional - sage.rings.finite_rings
667+
....: point_coordinates=False)
668+
sage: _ = projective_plane_to_OA(pp, pt=0) # optional - sage.rings.finite_rings
669+
sage: _ = projective_plane_to_OA(pp, pt=3) # optional - sage.rings.finite_rings
670+
sage: _ = projective_plane_to_OA(pp, pt=7) # optional - sage.rings.finite_rings
668671
"""
669672
from .bibd import _relabel_bibd
670673
pplane = pplane.blocks()
@@ -815,28 +818,28 @@ def AffineGeometryDesign(n, d, F, point_coordinates=True, check=True):
815818
816819
EXAMPLES::
817820
818-
sage: BD = designs.AffineGeometryDesign(3, 1, GF(2))
819-
sage: BD.is_t_design(return_parameters=True)
821+
sage: BD = designs.AffineGeometryDesign(3, 1, GF(2)) # optional - sage.rings.finite_rings
822+
sage: BD.is_t_design(return_parameters=True) # optional - sage.rings.finite_rings
820823
(True, (2, 8, 2, 1))
821-
sage: BD = designs.AffineGeometryDesign(3, 2, GF(4))
822-
sage: BD.is_t_design(return_parameters=True)
824+
sage: BD = designs.AffineGeometryDesign(3, 2, GF(4)) # optional - sage.rings.finite_rings
825+
sage: BD.is_t_design(return_parameters=True) # optional - sage.rings.finite_rings
823826
(True, (2, 64, 16, 5))
824-
sage: BD = designs.AffineGeometryDesign(4, 2, GF(3))
825-
sage: BD.is_t_design(return_parameters=True)
827+
sage: BD = designs.AffineGeometryDesign(4, 2, GF(3)) # optional - sage.rings.finite_rings
828+
sage: BD.is_t_design(return_parameters=True) # optional - sage.rings.finite_rings
826829
(True, (2, 81, 9, 13))
827830
828831
With ``F`` an integer instead of a finite field::
829832
830-
sage: BD = designs.AffineGeometryDesign(3, 2, 4)
831-
sage: BD.is_t_design(return_parameters=True)
833+
sage: BD = designs.AffineGeometryDesign(3, 2, 4) # optional - sage.rings.finite_rings
834+
sage: BD.is_t_design(return_parameters=True) # optional - sage.rings.finite_rings
832835
(True, (2, 64, 16, 5))
833836
834837
Testing the option ``point_coordinates``::
835838
836-
sage: designs.AffineGeometryDesign(3, 1, GF(2),
839+
sage: designs.AffineGeometryDesign(3, 1, GF(2), # optional - sage.rings.finite_rings
837840
....: point_coordinates=True).blocks()[0]
838841
[(0, 0, 0), (0, 0, 1)]
839-
sage: designs.AffineGeometryDesign(3, 1, GF(2),
842+
sage: designs.AffineGeometryDesign(3, 1, GF(2), # optional - sage.rings.finite_rings
840843
....: point_coordinates=False).blocks()[0]
841844
[0, 1]
842845
"""

src/sage/combinat/designs/incidence_structures.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1710,7 +1710,7 @@ def is_generalized_quadrangle(self, verbose=False, parameters=False):
17101710
TESTS::
17111711
17121712
sage: H = IncidenceStructure((2*graphs.CompleteGraph(3)).edges(sort=True, labels=False))
1713-
sage: H.is_generalized_quadrangle(verbose=True)
1713+
sage: H.is_generalized_quadrangle(verbose=True) # optional - sage.modules
17141714
Some point is at distance >3 from some block.
17151715
False
17161716
@@ -1722,7 +1722,7 @@ def is_generalized_quadrangle(self, verbose=False, parameters=False):
17221722
Two blocks intersect on >1 points.
17231723
False
17241724
1725-
sage: hypergraphs.CompleteUniform(4,2).is_generalized_quadrangle(verbose=1)
1725+
sage: hypergraphs.CompleteUniform(4,2).is_generalized_quadrangle(verbose=1) # optional - sage.modules
17261726
Some point has two projections on some line.
17271727
False
17281728
"""

0 commit comments

Comments
 (0)