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