-
-
Notifications
You must be signed in to change notification settings - Fork 647
Description
Problem Description
Currently, for matrices over a prime field of size 3 to about 2^{26}, the echelonization relies on LinBox and FFLAS-FFPACK routines that compute a reduced row echelon form. The column rank profile (as returned by the pivots
method) is deduced from this form, and cached. However, currently, for getting the row rank profile (as returned by the pivot_rows
method) one has to transpose the matrix and compute another row echelon form. This was encountered e.g. in #40508 (comment) and leads to a waste of a factor of 2 in cases where one needs both the row and column rank profiles of a matrix. Indeed, FFLAS-FFPACK contains echelonization routines that can reveal both rank profiles simultaneously, at the cost of a single echelonization.
Adding access to these routines in Sage would be beneficial.
Proposed Solution
A good starting point would be to try the solution for the same issue in the branch https://github.com/SriramGDev/sage/tree/f5-linalg-9.8.beta6
Alternatives Considered
Unclear: the row rank profile is not easily deduced from the row echelon form computation if it is not done in a way that preserves the row rank profile.
Additional Information
No response
Is there an existing issue for this?
- I have searched the existing issues for a bug report that matches the one I want to file, without success.