#19340: Better interface for hadamard_matrix
-------------------------------------+-------------------------------------
       Reporter:  ncohen             |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.9
      Component:  combinatorial      |   Resolution:
  designs                            |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:  Nathann Cohen      |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/ncohen/19340     |  247a2bb4dcec180227cd9fb9bcd331a27a289016
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by ncohen):

 > It should be enough (untested) to add the following declarations in
 libs/flint/fmpz_mat.pxd

 HMmmm.. I don't feel much at ease with adding matrix code, sorry.
 Especially if it is only implemented for a specific data structure and
 such.

 > You may well be right about combinatorial designs in general. But,
 having written the flint code, and considering that it implements a fairly
 simple algorithm, when it's already exhaustively tested up to size 300, I
 think it's highly unlikely to give an incorrect matrix for larger sizes.
 So I can't agree with slowing it down many orders of magnitude by default.

 Unless you do intend to use this code, couldn't you trust the opinion of
 those who do and develop it?

 I know how many hours, night and weeks I wasted because of a typo in data
 or in code. You wouldn't mind slowing by "several orders of magnitude" a
 function like `.__repr__` because it is never a critical. Do you generate
 Hadamard matrices intensively? Furthermore you can disable the check with
 'check=False'. Please don't turn this ticket into a war just because of a
 check you can disable, which saved my skin innumerable times in similar
 code. It's not worth it. I know it, and I need the flag. Besides, checking
 the constructions is already the default for all other design
 constructions.

 > It doesn't have a database; it uses the Paley construction. As noted
 above, you can easily use a fallback database/algorithm if it fails.

 More constructions of hadamard matrices may come. Others may be pure data.
 Other may be recursive constructions on both.

 > BTW, fmpz_mat_hadamard succeeds for every multiple of 4 below 92;
 current code for the Paley construction in Sage doesn't succeed to
 construct a size 20 Hadamard matrix.

 Then there must be another bug somewhere. This code clearly needs some
 testing.

 Nathann

--
Ticket URL: <http://trac.sagemath.org/ticket/19340#comment:9>
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