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