#16391: Helper functions for OA constructions
-------------------------------------+-------------------------------------
       Reporter:  ncohen             |        Owner:
           Type:  enhancement        |       Status:  positive_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     |  42239ccc8b169e1aaf148da90b638004a09e67c6
   Dependencies:  #16370             |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by vdelecroix):

 * status:  needs_review => positive_review


Comment:

 Replying to [comment:35 ncohen]:
 > Yo !
 >
 > > I do not agree with your corrections. By definition, the holes are
 subsets of the ground set `V = {0,...,n-1}`. Perhaps it depend on where we
 read the definition.
 >
 > Well, I did not find definition of incomplete OA in the handbook though
 they define incomplete transversal designs, and for this they introduce
 sets `H_1,H_2, ...`. Well, to define a hole in general you need to give a
 subset for each column... Your phrasing assumes that the OA has been
 relabelled so that the coordinates of the hole are the same in every
 column... But honestly everybody would understand it the way it is, adding
 this `^k` just emphasizes that we give the coordinate for every column.

 I had a look at various papers and they define holes as subset of `V`. But
 I agree, it is fine the way you did.

 > > Could we just get rid of the caching and return list of lists in the
 very same way as `orthogonal_array`?
 >
 > Don't you want to review #16353 ? This would make everything MUCH
 easier.

 I can review it, but I do not want to see it used in designs!

 > I am willing to implement this correctly and -- if posible -- uniformly,
 but if people refuse to review stuff like #16353 for theological reasons
 then I am stuck, and I have no other way but to find workarounds.
 >
 > In the constructions I will add when all this will be reviewed this
 function is called often. You can see that it will be called by the new
 version of Wilson's theorem, because holes are really needed there. And it
 will be good to have it cached.

 All right. Then I will changed my mind at this point.

 > > The time needed to find 3 disjoint blocks is not big compared to the
 time you need to build an orthogonal array. It would make more sense to
 implement the caching at the level of `orthogonal_array`. And I think, it
 would better if done in another ticket.
 >
 > Come on man. All the boolean answers should be cached. It costs nothing,
 and it can only help.

 No. We should cache a dictionnary `n -> (k_exists,k_unknown)`. This would
 be more efficient. Sometimes you have a TD(k+5,n) but was looking for a
 TD(k,n), so you loose information. Similarly, if you start caching
 (incomplete) orthogonal array you would only cache the one which has the
 maximum number of holes with respect to a fixed k or the on which has the
 maximum size with respect to a fixed set of holes.

 Vincent

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