#16391: Helper functions for OA constructions
-------------------------------------+-------------------------------------
Reporter: ncohen | Owner:
Type: enhancement | Status: needs_review
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/16391 | 90f828fb2904fc5083baa8b45af97d6dc7740f54
Dependencies: #16370 | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by ncohen):
* status: needs_info => needs_review
Comment:
Yo !
> 1) What you called OA with holes are "incomplete orthogonal array" in
the Handbook
I see I see. Somehow I think that I was mixing together "incomplete TD"
and "truncated TD". For me an "incomplete TD" could be an OA truncated in
any way, though it seems that it actually is a "nicely truncated TD", i.e.
that the missing stuff can potentially be filled with others TD.
Note that I have no clue how I could compute a decomposition of a TD with
holes of size > 1. No idea.
> (as well as their sisters "incomplete transversal design" and
"incomplete set of MOLS"). See p 193-194. And the one you are interested
in, the "OA(k,n) - x.OA(k,1)", are also denoted "OA(k,n; 1, ..., 1)". Am I
right? If this is true, I would rather write a function
`incomplete_orthogonal_array(k,n,holes)` where holes is a tuple of
integers to fit with the standard names and notations. I also saw some
general results in the Handbook (Theorems 4.16 and 4.17) about one hole
and k=4,5... and a beautiful table of IMOLS.
Okay, then we can implement it like that :
`incomplete_transversal_design(k,n,tuple_of_hole_sizes,OA=None)`.
The function would return an exception whenever there is an element in
tuple_of_hole_sizes which is not equal to 1, and if `OA` is defined then
it is the OA that will be used to compute the holes ?
> 2) From the function you wrote, it is very easy to
> - allow `x` as None, in which case the function tries to optimize the
number of holes
Holes of size 1.
> - have an optional argument `OA` such that, if it is provided, the
function looks for holes inside this orthogonal array.
Yepyep.
> I did the change myself but the function looks a bit uglier so I am not
sure what to do. I would like to have those two functions to study the
number of holes depending on the OA. But on the other hand, I tried with
the OA(4,10) that we have but it took lifetime to obtain the answer 9.
Yep. I tried different things an really this small LP appears to be the
best choice. If we make the optimization available then we will have to
call `Graph.independent_set`.
> A perhaps cleaner way to do things is to have two functions that would
looks like
> - `incomplete_orthogonal_array(k,n,holes)` (this function would be
available from the global namespace)
Yepyep, this could be `designs.incomplete_orthogonal_array`
> - `look_for_holes_in_my_OA(OA,k,n,holes)`
I would not know where to write that. It does not belong to
`designs.<tab>`. We could write it somewhere in the `orthogonal_array`
file, to let it be exposed later when all this will have become a class.
> What do you think?
What do you think ? Answer my questions above and I will write the code.
And rebase what needs to be, above.
Nathann
--
Ticket URL: <http://trac.sagemath.org/ticket/16391#comment:14>
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.