#15259: (v,4,1)-BIBD, Latin Squares and Orthogonal arrays
-----------------------------+---------------------------------
   Reporter:  ncohen         |            Owner:
       Type:  enhancement    |           Status:  new
   Priority:  major          |        Milestone:  sage-5.13
  Component:  combinatorics  |         Keywords:
  Merged in:                 |          Authors:  Nathann Cohen
  Reviewers:                 |  Report Upstream:  N/A
Work issues:                 |           Branch:
     Commit:                 |     Dependencies:  #15107
   Stopgaps:                 |
-----------------------------+---------------------------------
 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

--
Ticket URL: <http://trac.sagemath.org/ticket/15259>
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