#10765: Obliterate sage/matrix/misc.pyx
------------------------------+---------------------------------------------
Reporter: rbeezer | Owner: jason, was
Type: task | Status: new
Priority: major | Milestone: sage-4.7
Component: linear algebra | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------------+---------------------------------------------
Header of {{{sage/matrix/misc.py}}} says:
{{{
NOTE: The whole problem of avoiding circular imports -- the reason for
existence of this file -- is now a non-issue, since some bugs in
Cython were fixed. Probably all this code should be moved into the
relevant classes and this file deleted.
}}}
So I did. After a suitable deprecation period, the file can be
obliterated. Here's the overview:
Functions leaving {{{sage/matrix/misc.py}}}. Originals have all been
deprecated.
* {{{cmp_pivots}}}[[BR]]
Existing duplicate already existed in {{{matrix/matrix2.pyx}}}.
* {{{hadamard_row_bound_mpfr}}}[[BR]]
Moved to {{{matrix/matrix2.pyx}}} near where it was called, right by
another similar helper function. Converted to an underscore method,
therefore. Already has protection on base ring of the matrix (RR).
* {{{matrix_integer_sparse_rational_reconstruction}}}[[BR]]
Moved into content of
{{{sage.matrix.matrix_integer_sparse.Matrix_integer_sparse.rational_reconstruction}}}
which was just a one-line stub calling the function from
{{{sage/matrix/misc.pyx}}}.
* {{{matrix_integer_dense_rational_reconstruction}}}[[BR]]
Moved into content of
{{{sage.matrix.matrix_integer_dense.Matrix_integer_dense.rational_reconstruction}}}
which was just a one-line stub calling the function from
{{{sage/matrix/misc.pyx}}}. Adjusted a call in {{{matrix_cyclo_dense}}}
to call this new method.
* {{{matrix_rational_echelon_form_multimodular}}}[[BR]]
"Works" for sparse and dense matrices (see MAX_MODULUS) so added this to
matrix2.pyx class as
{{{sage.matrix.matrix2.Matrix._echelon_form_multimodular_rational}}}.
Added protection to ensure base ring is rationals.
Almost all code changes are just to fit into new locations. A bit of
documentation clean-up where needed.
This passes all tests, but should be reviewed by somebody with significant
Cython and/or {{{sage/matrix}}} experience.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10765>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.