Skip to content

[Wording] Algorithm-independent definition of matrix_rank #211

Closed
@lezcano

Description

@lezcano

The current definition of matrix_rank is:

Computes the rank (i.e., number of non-zero singular values) of a matrix

This is strongly biased towards the SVD view of the rank, which goes against point 4 of the design principles.

Edit Note that there are other algorithms that are rank-revealing. The most important is QR with pivoting present in LAPACK, which is also sometimes used to solve lstsq. See L351-395 of LAPACK's implementation.
LU with full pivoting strategies may also be made into a rank-revealing algorithm (see this paper with +150 citations) although no large library implements them to the best of my knowledge.

A more implementation agnostic definition would be "the number of independent columns". This gets closer into the intuition of what the rank of a linear map really is: The dimension of the image of the map.

cc @rgommers @mruberry

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions