#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:  Reported           |  c67cb42042b25d17aeb17999ac7430aafef0f142
  upstream. No feedback yet.         |     Stopgaps:
         Branch:                     |
  u/SimonKing/meataxe                |
   Dependencies:  #19240             |
-------------------------------------+-------------------------------------
Changes (by SimonKing):

 * status:  needs_work => needs_review
 * work_issues:  Pickling =>


Comment:

 The problem was: The default implementation of unpickling relies on
 `set_unsafe(i,j,val)`. In my implementation, `set_unsafe` relies on a
 converter from finite field elements to the internal representation---and
 the converter is not created during the unpickling.

 Hence, I created a custom `__reduce__` relying on some unpickling
 function.

 There, I used the occasion to return to what I did in the old group
 cohomology spkg: Pickling is *not* by conversion of the matrix to a list
 of entries, but it dumps the densely packed internal representation.
 Advantage: It is a lot faster!

 For the group cohomology spkg, it was checked that the internal
 representation does not depend on details such as big versus little endian
 machines: A pickle created on a big-endian machine can correctly be
 unpickled with a little-endian machine.

 Another advantage of the new approach will be apparent in #18514: Since
 the new pickling/unpickling  scheme for meataxe matrices is a lot closer
 to the scheme used in the old group cohomology spkg, the *new* group
 cohomology package should relatively easily be able to read data from
 existing cohomology data bases.

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