This repository has been archived by the owner on Jan 30, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
design_catalog.py
95 lines (71 loc) · 3.96 KB
/
design_catalog.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
r"""
Catalog of designs
This module gathers all designs that can be reached through
``designs.<tab>``. Example with the the Witt design on 24 points::
sage: designs.WittDesign(24) # optional - gap_packages
Incidence structure with 24 points and 759 blocks
Or a Steiner Triple System on 19 points::
sage: designs.steiner_triple_system(19)
Incidence structure with 19 points and 57 blocks
**La Jolla Covering Repository**
The La Jolla Covering Repository (LJCR, see [1]_) is an online database of
covering designs. As it is frequently updated, it is not included in Sage, but
one can query it through :meth:`designs.best_known_covering_design_from_LJCR
<sage.combinat.designs.covering_design.best_known_covering_design_www>`::
sage: C = designs.best_known_covering_design_from_LJCR(7, 3, 2) # optional - internet
sage: C # optional - internet
(7,3,2)-covering design of size 7
Lower bound: 7
Method: lex covering
Submitted on: 1996-12-01 00:00:00
sage: C.incidence_structure() # optional - internet
Incidence structure with 7 points and 7 blocks
**Design constructors**
This module gathers the following designs :
.. csv-table::
:class: contentstable
:widths: 100
:delim: |
:meth:`~sage.combinat.designs.block_design.ProjectiveGeometryDesign`
:meth:`~sage.combinat.designs.block_design.DesarguesianProjectivePlaneDesign`
:meth:`~sage.combinat.designs.bibd.balanced_incomplete_block_design`
:meth:`~sage.combinat.designs.block_design.AffineGeometryDesign`
:meth:`~sage.combinat.designs.block_design.WittDesign`
:meth:`~sage.combinat.designs.block_design.HadamardDesign`
:meth:`~sage.combinat.designs.block_design.Hadamard3Design`
:meth:`~sage.combinat.designs.latin_squares.mutually_orthogonal_latin_squares`
:meth:`~sage.combinat.designs.orthogonal_arrays.transversal_design`
:meth:`~sage.combinat.designs.orthogonal_arrays.orthogonal_array`
:meth:`~sage.combinat.designs.orthogonal_arrays.incomplete_orthogonal_array`
:meth:`~sage.combinat.designs.bibd.steiner_triple_system`
:meth:`~sage.combinat.designs.steiner_quadruple_systems.steiner_quadruple_system`
:meth:`~sage.combinat.designs.block_design.projective_plane`
And the :meth:`designs.best_known_covering_design_from_LJCR
<sage.combinat.designs.covering_design.best_known_covering_design_www>` function
which queries the LJCR.
.. TODO::
Implement DerivedDesign and ComplementaryDesign.
REFERENCES:
.. [1] La Jolla Covering Repository,
http://www.ccrwest.org/cover.html
"""
from sage.combinat.designs.block_design import (BlockDesign,
ProjectiveGeometryDesign,
DesarguesianProjectivePlaneDesign,
projective_plane,
AffineGeometryDesign,
WittDesign,
HadamardDesign,
Hadamard3Design)
from sage.combinat.designs.steiner_quadruple_systems import steiner_quadruple_system
from sage.combinat.designs.covering_design import best_known_covering_design_www as best_known_covering_design_from_LJCR
from sage.combinat.designs.latin_squares import mutually_orthogonal_latin_squares
from sage.combinat.designs.orthogonal_arrays import transversal_design, orthogonal_array, incomplete_orthogonal_array
from sage.combinat.designs.difference_family import difference_family
from sage.combinat.designs.incidence_structures import IncidenceStructure
BlockDesign = IncidenceStructure # just an alias
from sage.combinat.designs.bibd import balanced_incomplete_block_design, steiner_triple_system
# deprecated in june 2014 (#16446)
from sage.misc.superseded import deprecated_function_alias
BalancedIncompleteBlockDesign = deprecated_function_alias(16446,
balanced_incomplete_block_design)