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

Reply via email to