#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.

Reply via email to