#16231: Equivalence between OA/TD/MOLS
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  ncohen                 |       Status:  needs_review
           Type:         |    Milestone:  sage-6.2
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:
  combinatorics          |  Work issues:
       Keywords:         |       Commit:
        Authors:         |  a46446f3b29690aa1245583639bb6b78b3d50dca
  Nathann Cohen          |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  u/ncohen/16231         |
   Dependencies:         |
  #15310, #16227         |
-------------------------+-------------------------------------------------

Comment (by ncohen):

 Yo !

 > I assume that the big goal of this ticket is also to find more
 constructions.

 Indeed.

 > The operation which consists in removing groups is trivial. So instead
 of given a couple (k,n) look for a TD(k,n) it is just more meaningful for
 a given n to have functions which:
 > - return the largest k such that Sage knows how to build a TD(k,n) and
 provide it
 > - the smallest k such that Sage knows that there does not exist a
 TD(k,n) and provide the Theorem that says so (see also #16272 for that)
 >
 > Removing this feature from the MOLS in is '''very''' bad.

 Vincent, you need to stop screaming every ten seconds when something
 trivial is changed. This thing will appear again, as I am telling you that
 I want to reproduce the big MOLS table in the Handbook. Finding the
 largest k in the very purpose of my not sleeping and forgetting to eat for
 days.

 I removed this parameter right now because it can not be guessed at no
 cost, as it was the case. In order to find the largest k, you must explore
 many branches and recursive constructions, and implementing this will be
 done in another ticket, as those are sufficiently complicated and long to
 review already.

 Again, stop screaming every minute. There was NOTHING about MOLS in Sage
 very recently, and we implement a lot of stuff at once. Here I remove
 stuff because it makes my patch easier to implement, and I will add it
 again later. Nobody even knew that this feature existed except me.

 > I would rather try to make it available in the other functions. Doing it
 by "trying all `k` before it says no" does not look like a good strategy
 to me.

 Vincent, be serious. Have you thought about it ?... There is no other way
 to do that.

 > In order to find new TD(k,n), we have different strategies:
 > - ''individual constructions'' (currently there is `TD_6_12` and also
 the ones introduced in #16241 #16236 and #16235)

 And the ones I am implementing. Indeed.

 > - ''family constructions'' (these are currently included into
 `orthogonal_array` and `mutually_orthogonal_latin_squares`). It is hard
 for me to tell if those constructions overlap.

 They must overlap on some values, and not on others.

 > - ''generalized Wilson constructions'' which build TD(k,n) from
 "smaller" ones

 Yep.

 > - ''translations'', which is basically what this ticket is about

 Yep.

 > Is that all? I would like this to be clear before thinking about what
 you did.

 Well, I think that it is all.

 The point is that before this ticket, the MOLS constructor has only two
 cases :

 1) A family  construction for prime powers

 2) A product decomposition applied stupidly : factor the input into prime
 power,  and do the best  you can with that.

 When the first is applied, the "best k" is easy to find.

 When the second is applied, the "best k" is easy to find.

 Thus I had added this feature or returning the "best k", because it came
 at absolutely no cost.

 Now we can build much better MOLS than that,  because we have a LOT of
 constructions in OA/TD that MOLS can use, and so we can return MOLS that
 we would not have had with the previous constructions. On the other hand,
 if the "best k" we can now build is higher than what we could do before,
 it is not as easy to deduce because you have to explore stuff, in
 particular in the recursive constructions of OA/TD.

 Thus I removed this guessing, because it is not how this feature is to be
 implemented. The only way I see to implement it is to try all values and
 return the largest one found, and I have no idea what you can think about
 when you say that it "does not look like a good strategy". It is the only
 one we can implement.

 And we will implement this "best k" for all constructions at the same
 time. Or perhaps only for OA, and all others will ask it. Once, and for
 all constructors. But first, let them communicate.

 Nathann

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