#16295: Faster is_orthogonal_array
-------------------------------------+-------------------------------------
Reporter: ncohen | Owner:
Type: enhancement | Status: needs_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/16295 | 31e84b82913815b2005b5e2e45650c1568a45761
Dependencies: #16236 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by ncohen):
Hello !
> I strongly feel that it would be much more consistent with
>
> 1) what people in design theory will expect the code to do
You claim again that my code does something that somebody (a user ?) "in
design theory" might not expect. Can you tell me what it is ? Or is the
function okay for the user's point of view, while you think that the way
it is coded is "something that people in design theory" would not expect ?
> 2) the equivalence between OAs and MOLS
>
> to have `are_mutually_orthogonal_squares` add the two extra columns and
then simply call `is_orthogonal_array`. This will have the effect of
checking that all the squares are, in fact latin and you will not have to
have `are_mutually_orthogonal_squares` do this extra checking.
I would have agreed if the function only returned True/False answer. What
you are telling me to do is that I should consider all latins squares as k
rows of a TD to which I add the two row/column ones, only to differentiate
them later in a function that has no reason to contain MOLS-specific code.
This is why it does not make sense to me to build a homogeneous input only
to dissassemble it immediately afterwards.
Besides, I expect that my commented code is sufficient for anybody "who
does design theory" to understand what exactly happens.
> in my opinion as a design theorist, the behaviour you cite in comment 62
of my code is all correct.
It is not. The function is named "are_mutually_orthogonal_latin_squares".
It should return True if the input consists of mutually orthogonal latin
squares.
> In the second example the squares ARE orthogonal, they are just NOT
latin. if you add the additional two columns the behaviour will be
reported.
I agree with that, I am just showing that your branch returns wrong
results. If this is fixed the results will be correct. This being said, if
this is fixed then what you said just above, i.e. that the function should
return True even when the input does not consist of latin squares, will
not hold anymore. And so according to you the function will return wrong
results.
Nathann
--
Ticket URL: <http://trac.sagemath.org/ticket/16295#comment:64>
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.