#19076: Unifying modn matrices
-----------------------------+---------------------------------------------
   Reporter:  kartikv        |            Owner:
       Type:  enhancement    |           Status:  new
   Priority:  major          |        Milestone:  sage-6.9
  Component:  linear         |         Keywords:  matrix, sparse, modn, int
  algebra                    |          Authors:  Kartik Venkatram
  Merged in:                 |  Report Upstream:  N/A
  Reviewers:                 |           Branch:
Work issues:                 |     Dependencies:
     Commit:                 |
   Stopgaps:                 |
-----------------------------+---------------------------------------------
 This is a consolidation of several matrix related tickets, e.g. #2705,
 #10734, #11161, #12177, #12679, #13177, #13915, #15104, ... basically, the
 world of matrices over finite fields. The fundamental issues are the
 following

 * there is inconsistency over the size of fields that are allowed to use
 the "fast" matrix methods. Specifically, some places use mod_int and
 either a int_fast64_t or a long, while other places use int or int32_t
 specifically. Moreover, the size of the maximum modulus differs even when
 the sizes of the representations are the same.

 * because of this, there are many cases when fast methods could be used
 but aren't: the code generally just reverts to generic matrices and slow
 internal operations

 * the code totally ignores linbox's support for GMP-based matrix
 operations, which are not quite as fast as word-size ones but are still
 better than Sage internal operations

 I intend to build a consolidated class framework for modular vectors and
 matrices, with system-optimized choice of crossover between small and
 large moduli and uniform use of linbox throughout. As part of this, I also
 intent to consolidate the existing code and update it to modern standards,
 e.g. move pxi files to pxd, add kwargs to all overloadable functions, etc.

--
Ticket URL: <http://trac.sagemath.org/ticket/19076>
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