#12103: Use MeatAxe as an optional back end for dense matrices over `GF(p^n)`, p
odd, n>1, `p^n<255`
-------------------------------------+-------------------------------------
       Reporter:  SimonKing          |        Owner:  jason, was
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.9
      Component:  packages:          |   Resolution:
  optional                           |    Merged in:
       Keywords:  linear algebra,    |    Reviewers:
  MeatAxe                            |  Work issues:
        Authors:  Simon King         |       Commit:
Report Upstream:  None of the above  |  f73337711df114571d1be0fa61140a41628703b7
  - read trac for reasoning.         |     Stopgaps:
         Branch:                     |
  u/SimonKing/meataxe                |
   Dependencies:  #19240             |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Replying to [comment:149 jdemeyer]:
 > Any answer from upstream?

 Unfortunately not.

 > Do you have an idea who could review those patches, because I seems to
 me that it should only be reviewed by somebody who knows meataxe.

 This might be difficult. But the following should be possible even without
 deeper knowledge of meataxe:
 - Does the package keeps the promise that multiplication tables (name
 pXYZ.zzz, where XYZ is the order of the field) will not pollute the
 current directory?
 - Are there memory leaks? Combine various random matrices by stacking,
 slicing, multiplication, copying etc, delete everything, repeat in a loop,
 and see if any memory is lost.
 - Manually create the same large random matrices once in meataxe and once
 in the current sage backends. That includes the case of fields of
 characteristic 2 and prime fields, where meataxe will not be used by
 default. Then do arithmetic, including echolonization, and compare (using
 `M.list()`) if the results coincide in all implementations. There are
 examples of that type in the docs.
 - In addition to the previous class of tests, compare the timings. You
 will hopefully find that for non-prime fields of odd characteristic
 meataxe is clearly superior over the current Sage implementation.
 - Concerning Strassen-Winograd (which is not in upstream meataxe): Compare
 the results of multiplication using school book and Strassen-Winograd
 algorithm, with different cutoff and different matrix dimensions. Here,
 both the results (via `M.list()`) and the performance (memory consumption)
 should be compared. Also it can be tested if the default cutoff I chose is
 optimal even on 32bit machines (I only tested on 64 bit).

 I think a review based on such test would be valid. I doubt that for our
 current standard backends the review was more thorough than what I suggest
 here for an optional backend.

 > One detail I spotted in the code: replace {{{except:}}} by {{{except
 BaseException:}}} (I assume that people write `except:` by mistake, so
 it's better to be explicit that you really want to catch everything).

 OK, can do.

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