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

Reply via email to