Here is another approach, although I miss the experience to see how effective this is for large matrices:
If the rank is low, this means that the matrix contains many irrelevant rows, which are linear combinations of others. If the matrix is a linear system of equations, you can develop an algorithm that sequentially deletes these rows.
To check if a row is irrelevant, check if the matrix rank is not without this row. To calculate the rank of the matrix, see this and which answer.
flonk
source share