#15310: Wilson's construction of Transversal Designs/Orthogonal Arrays/MOLS
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  ncohen                 |       Status:  needs_review
           Type:         |    Milestone:  sage-6.2
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:
  combinatorics          |  Work issues:
       Keywords:         |       Commit:
        Authors:         |  d74341411288315f13da3d4383e515b884ba7440
  Nathann Cohen          |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  u/ncohen/15310         |
   Dependencies:         |
  #15287, #15431         |
-------------------------+-------------------------------------------------

Comment (by vdelecroix):

 Replying to [comment:25 ncohen]:
 > > 1) There is a much simpler construction than the Wilson one, often
 called the Kronecker product, which from a TD(k,t) and a TD(k,n) builds a
 TD(k,nt) (this is basically the case u=0 in Wilson construction). We found
 that Wilson construction does not apply to a TD(3,6) but the Kronecker
 product does! Do you prefer opening a new ticket or including it in this
 one?
 >
 > I would say open a new ticket because this ticket does not only
 implement Wilson's construction, it also adds some "availability" flags to
 constructors and thus this ticket is a dependency for several others.
 Hence if we implement it in another ticket the other ones can be reviewed
 in the meantime.

 Actually, the product construction is what you are doing in #16227. You
 can see it as a particular case of Wilson construction.

 > > 2) The programming design with TD calling OA is very bad. In OA there
 is a nice `EmptySetError` which has an important mathematical meaning. But
 if you ask for a transversal design you get instead a
 `NotImplementedError` which is much less informative
 >
 > How is that a result of TD calling OA ?
 >

 I would better say not calling OA appropriately. line 79
 {{{
     elif orthogonal_array(k,n, check = False, availability = True):
        ...
 }}}
 I still found that having half of the implementation in TD and half of the
 implementation in OA is very confusing.

 > Well. No problem if "if Unknown" is equivalent to "if False".

 It is. You do not know your troolean algebra !?

 > > And then, you might change the name `availability` to `existence`.
 >
 > Could we do that on top of #12267 ? I would prefer those patches to be
 merged like that, and then we can update stuff. Otherwise it means fixing
 many conflicts with the stuff above, but I agree that it is a good idea.

 Make sense. I will open a ticket for that.

 > > 3) The loop where you test the Wilson construction is 2.86 seconds on
 my (dual core) computer. I am not sure it deserves a `# long time`.
 >
 > Well, I usually set `#long ` even for 2 seconds. Most tests are faster
 than that, andyou can have many "2 seconds" tests. I don't mind
 adding/removing flags like that,  but you can also add a commit if you
 like.

 No do not worry about this.

 > > 4) Could you mention the following reference as a todo
 > > - AUTHOR = Colbourn, Charles J. and Dinitz, Jeffrey H.
 > > - TITLE = Making the MOLS table
 > > - BOOKTITLE = Computational and constructive design theory
 > > - SERIES = Math. Appl.
 > > - VOLUME = 368
 > > - PAGES = 67--134
 > > - PUBLISHER = Kluwer Acad. Publ., Dordrecht
 > > - YEAR = 1996
 > > They have a slightly improved Wilson construction for u=1, 2 that
 requires less material (ie not four full smaller TDs)... and hence gives
 more cases where the construction applies.
 >
 > okayokay, good idea ! I will add a commit in a second.

 and please, add also the references you got from Julian Abel. I guess that
 they are pretty similar.

 Vincent

--
Ticket URL: <http://trac.sagemath.org/ticket/15310#comment:27>
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/d/optout.

Reply via email to