# parallel matrix rank

I have* a (relatively) large non-square symbolic matrix $M$ which I would like to calculate the rank of. The entries of the matrix are polynomials with coefficients in a (small) finite field, and the matrix is relatively sparse, although currently it's being treated as a non-sparse matrix.

The rank could simply be calculated as `M.rank()`

, but I'm not sure whether or not the matrix rank algorithm implemented works in parallel or not. Could someone clarify whether or not parallel calculation of matrix rank is implemented in Sage or not? If it is implemented but isn't used by default, how do I make use of the parallel version?

Thanks!

(*) It's more accurate to say that I'm *going to have* such a matrix; my initial version of the code was written in Mathematica, and I'm currently porting the code to Sage after too many headaches with Mathematica's handling of finite fields, which could definitely be improved upon. So unfortunately I'm not yet at the stage of running `M.rank()`

and checking whether or not it runs in parallel.