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