#15259: (v,4,1)-BIBD, Latin Squares and Orthogonal arrays
-------------------------+-------------------------------------------------
Reporter: | Owner:
ncohen | Status: needs_review
Type: | Milestone: sage-5.13
enhancement | Resolution:
Priority: major | Merged in:
Component: | Reviewers:
combinatorics | Work issues:
Keywords: | Commit:
Authors: | cb2fce9c634be27a3a3905577ea97cc356ffd8a4
Nathann Cohen | Stopgaps:
Report Upstream: N/A |
Branch: |
u/ncohen/15259 |
Dependencies: |
#15107 |
-------------------------+-------------------------------------------------
Description changed by ncohen:
Old description:
> WUUUUHUUUUUUUUUUUUUUUUUU !!
>
> This patch implements a construction from Douglas Stinson's book
> "Combinatorial Designs: Constructions and Analysis" for (v,4,1)-BIBD,
> i.e. decompositions of {{{K_v}}} into copies of {{{K_4}}}. It requires
> the construction of some other combinatorial objects, like some Mutually
> Orthogonal Latin Squares and Orthogonal Arrays, an so some theorems from
> this book are akso implemented by this patch. Hoping that the new files
> with get larger eventually `:-)`
>
> I also fixed a bug in `AffineGeometryDesign` : a `List` is used instead
> of a `Set`, and as a result blocks are returned several times. Example :
>
> Before
> {{{
> sage: print designs.AffineGeometryDesign(2, 1, GF(2)).blocks()
> [[0, 1], [0, 1], [0, 2], [0, 2], [0, 3], [0, 3], [1, 2],
> [1, 2], [1, 3], [1, 3], [2, 3], [2, 3]]
> }}}
>
> After
> {{{
> sage: print designs.AffineGeometryDesign(2, 1, GF(2)).blocks()
> [[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]
> }}}
>
> Overall :
> * A file named `bibd.py` now gathers `steiner_triple_systems` (moved
> there from `block_designs.py`). It also implement the present
> construction, and a general `BalancedIncompleteBlockDesign` is created to
> obtain both steiner triple systems and `(v,4,1)`-BIBD.
> * A file named `latin_squares.py` contains construction for mutually
> orthogonal latin squares, as well as a function to compute the product of
> two latin squares.
> * A file named `orthogonal_arrays.py` contains constructions for
> orthogonal arrays and transversal designs (which are a particular case of
> orthogonal arrays.
>
> The most important thing is that **even if all the code written there is
> wrong** (and it is indeed very unclear at times), nothing is returned
> without being checked first for correction.
>
> Sooooooooooo well. It's rather safe `;-)`
>
> Have fuuuuuuuuuuuuun !
>
> Nathann
New description:
WUUUUHUUUUUUUUUUUUUUUUUU !!
This patch implements a construction from Douglas Stinson's book
"Combinatorial Designs: Constructions and Analysis" for (v,4,1)-BIBD, i.e.
decompositions of {{{K_v}}} into copies of {{{K_4}}}. It requires the
construction of some other combinatorial objects, like some Mutually
Orthogonal Latin Squares and Orthogonal Arrays, an so some theorems from
this book are also implemented by this patch. Hoping that the new files
will get larger eventually `:-)`
I also fixed a bug in `AffineGeometryDesign` : a `List` is used instead of
a `Set`, and as a result blocks are returned several times. Example :
Before
{{{
sage: print designs.AffineGeometryDesign(2, 1, GF(2)).blocks()
[[0, 1], [0, 1], [0, 2], [0, 2], [0, 3], [0, 3], [1, 2],
[1, 2], [1, 3], [1, 3], [2, 3], [2, 3]]
}}}
After
{{{
sage: print designs.AffineGeometryDesign(2, 1, GF(2)).blocks()
[[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]
}}}
Overall :
* A file named `bibd.py` now gathers `steiner_triple_systems` (moved there
from `block_designs.py`). It also implement the present construction, and
a general `BalancedIncompleteBlockDesign` is created to obtain both
steiner triple systems and `(v,4,1)`-BIBD. And even some others from the
online database.
* A file named `latin_squares.py` contains constructions for mutually
orthogonal latin squares, as well as a function to compute the product of
two latin squares.
* A file named `orthogonal_arrays.py` contains constructions for
orthogonal arrays and transversal designs (which are a particular case of
orthogonal arrays.
The most important thing is that **even if all the code written there is
wrong** (and it is indeed very unclear at times), nothing is returned
without being checked first for correctness.
Sooooooooooo well. It's rather safe `;-)`
Have fuuuuuuuuuuuuun !
Nathann
--
--
Ticket URL: <http://trac.sagemath.org/ticket/15259#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.