#15431: Transversal Design TD(6,12)
-------------------------+-------------------------------------------------
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: | 4adf6b5792919daea356c66d511fc621776d0a77
Nathann Cohen | Stopgaps:
Report Upstream: N/A |
Branch: |
u/ncohen/15431 |
Dependencies: |
#15287 #15368 |
-------------------------+-------------------------------------------------
Comment (by ncohen):
Though perhaps I should tell you what I have in mind for these files :
I do not like to have so many "if" in the functions.. Really, each "if"
actually means "try this construction, and if it failed try this one, and
if it failed try this one". As a result you have a lot of very different
constructions in the same place, and it is hard to document them
individually.
Besides, the code will get worse because of #15310, because I need to add
an argument to TD/OA : "do not build the design, just tell me if you can
do it". This is useful because Wilson's construction is recursive, and
because you do not want to build stuff that you may not be able to use in
the end.
This, in each of these "if" which try some construction, you also have to
handle the case where you only want to return a boolean answer, or return
the best MOLS you can build, stuff like that.
And it does get messy.
So what I thought is something like this : write three decorators
{{{
@mols_construction
@td_construction
@oa_construction
}}}
And when the @mols_construction is applied to a function F (defined
anywhere in the file), then F is added to a global index of "mols
constructions".
And then, the code of "MOLS(k,n)" becomes "For every constructor in the
global list, give it a try and answer if it returns something useful".
As you can see, the TD6_12 is a function of its own, and it is only called
in the constructor of TD. It's either this, or add the documentation of
the different constructions in the doc of transversal_design, and that
does not scale.
Nathann
--
Ticket URL: <http://trac.sagemath.org/ticket/15431#comment:15>
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.