Matrix rank: subadditivity, minors, semicontinuity, blocks, and deletions #
Facts about Matrix.rank over a field K that Mathlib does not state directly. Ranks are
natural numbers and all index types are finite.
- Subadditivity:
Matrix.rank_add_leandMatrix.rank_sum_le. - Minors:
rank A ≥ kif and only if somek × ksubmatrix ofAhas nonzero determinant (Matrix.le_rank_iff_exists_det_submatrix_ne_zero); equivalentlyrank A ≤ rif and only if every(r + 1) × (r + 1)minor vanishes (Matrix.rank_le_iff_forall_det_submatrix_eq_zero). A nonzero minor indexed by any finite typeιgivescard ι ≤ rank A(Matrix.card_le_rank_of_det_submatrix_ne_zero). - Semicontinuity: over a topological field whose points are closed, the matrices of rank at
most
rform a closed set (Matrix.isClosed_setOf_rank_le), so rank is lower semicontinuous (Matrix.lowerSemicontinuous_rank): a limit of matrices of rank at mostrhas rank at mostr. - Block-triangular matrices: the rank of
fromBlocks A B 0 DorfromBlocks A 0 C Dis at leastrank A + rank D, whatever the off-diagonal block and whether or not the diagonal blocks are square or invertible. - Deleting rows and columns: restricting to the rows in the range of
fand the columns in the range ofglowers the rank by at most the number of deleted rows plus the number of deleted columns (Matrix.rank_le_rank_submatrix_add,Matrix.rank_le_rank_submatrix_add_card_sub).
Rank is invariant under permuting rows and columns by Mathlib's Matrix.rank_submatrix (for
equivalences) and Matrix.rank_reindex; Mathlib's Matrix.rank_submatrix_le says that
deleting rows and columns does not increase rank.
A square submatrix indexed by ι with nonzero determinant forces card ι ≤ rank A.
Lower semicontinuity of rank.
The rank of a block upper-triangular matrix is at least the sum of the ranks of its diagonal blocks.
The rank of a block lower-triangular matrix is at least the sum of the ranks of its diagonal blocks.
Deleting rows and columns. Keeping the rows in the range of f and the columns in the
range of g lowers the rank by at most the number of rows outside the range of f plus the
number of columns outside the range of g.
Deleting rows and columns, for injective reindexings: deleting
card m - card m' rows and card n - card n' columns lowers the rank by at most their total
number.