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