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