#16361: OA(7,66), OA(7,68), OA(8,69), OA(7,74) and OA(8,76)
-------------------------------------+-------------------------------------
       Reporter:  ncohen             |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.3
      Component:  combinatorial      |   Resolution:
  designs                            |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:  Nathann Cohen      |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/ncohen/16361     |  20ef21682cfe8b6532e2e2621b88d921236528f2
   Dependencies:  #16356             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by ncohen):

 Hellooooooooo !!

 > The function `OA_from_PBD` is sensitive to the output of
 `orthogonal_array`.

 Indeed. And sensitive to the labelling of the design, which I guess is
 what bothers you.

 > More precisely, the function needs a `TD(k,i) - i TD(k,1)`. But right
 now, it is just a matter of luck whether the answer of
 `orthogonal_array(k,i)` actually is... and tomorrow the answer might
 change. So you could not rely on that. For the current purpose of the
 ticket, a fix would be to feed explicitly the function `OA_from_PBD` with
 the corresponding list of `TD(k,i) - i TD(k,1)`.

 First, it is not true that "this can change and that I cannot rely on
 that" because there is a doctest. So if the constructions for which we
 need `OA_from_PBD` work now, they will continue working for as long as the
 doctest is there.

 Secondly, you are right that the least we can do is solve this problem "up
 to relabelling" of the original design. This is what is being done in
 #16391 (which also depends on #16370), which also implements another
 technique to find `TD(k,n)-x.TD(k,1)`. This patch #16391 is also a
 dependency of #16347 (wilson's construction), and the patch on which we
 talk right now is also a dependency of #16347 (wilson's construction). You
 can see that in Wilson's construction the lines that are a problem to you
 have been changed and that the function `OA_with_holes` is called instead.

 {{{
 +    # Building the OA
 +    OAs ={i:list(OA_with_holes(k,i,i)) for i in K}
 +
 +    # Turning them into IMOLS
 +    for i,OA in OAs.items():
 +        for ii in range(i):
 +            OAs[i].remove((ii,)*k)
 }}}

 Sooooooooooo given that
 1) the current construction will work for as long as they are doctested
 2) What bothers you is already fix a bit above

 ittttttt would be cool if you could consider that this problem does not
 matter as it is already fixed above.  It just comes from the fact that I
 write all my code in the same file but that I try to split it into small
 bits that are easier to review... And in this case I probably removed the
 call to `OA_with_PBD` so that this patch could be reviewed without the
 "Helper functions" patch as a dependency.

 Nathann

--
Ticket URL: <http://trac.sagemath.org/ticket/16361#comment:6>
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