Closed 1d7ec08f-60ae-4512-91a6-8324c06eab9f closed 1 year ago
Attachment: trac_10765-matrix-misc-routines.patch.gz
Two questions for veterans of the matrix code:
Should the new _echelon_form_multimodular_rational
in matrix2.py
be an underscore method (which is what was done)?
Header of misc.py
still has a stanza about mod_int
and MOD_INT_OVERFLOW
. I'm guessing it should follow the multimodular echelon form into the top of matrix2.pyx
but am not certain. Advice?
Author: Rob Beezer
This will not apply on 4.7.alpha1, and will rot further after #10752 goes in, so I'm going to orphan it for now.
Header of
sage/matrix/misc.py
says: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
Existing duplicate already existed in
matrix/matrix2.pyx
.hadamard_row_bound_mpfr
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
Moved into content of
sage.matrix.matrix_integer_sparse.Matrix_integer_sparse.rational_reconstruction
which was just a one-line stub calling the function fromsage/matrix/misc.pyx
.matrix_integer_dense_rational_reconstruction
Moved into content of
sage.matrix.matrix_integer_dense.Matrix_integer_dense.rational_reconstruction
which was just a one-line stub calling the function fromsage/matrix/misc.pyx
. Adjusted a call inmatrix_cyclo_dense
to call this new method.matrix_rational_echelon_form_multimodular
"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.CC: @williamstein @robertwb
Component: linear algebra
Author: Rob Beezer
Issue created by migration from https://trac.sagemath.org/ticket/10765