Totally unimodular matrices #
This file defines totally unimodular matrices and provides basic API for them.
Main definitions #
Matrix.IsTotallyUnimodular: a matrix is totally unimodular iff every square submatrix (not necessarily contiguous) has determinant0or1or-1.
Main results #
Matrix.isTotallyUnimodular_iff: a matrix is totally unimodular iff every square submatrix (possibly with repeated rows and/or repeated columns) has determinant0or1or-1.Matrix.IsTotallyUnimodular.apply: entry in a totally unimodular matrix is0or1or-1.
A.IsTotallyUnimodular means that every square submatrix of A (not necessarily contiguous)
has determinant 0 or 1 or -1; that is, the determinant is in the range of SignType.cast.
Equations
- A.IsTotallyUnimodular = ∀ (k : ℕ) (f : Fin k → m) (g : Fin k → n), Function.Injective f → Function.Injective g → (A.submatrix f g).det ∈ Set.range SignType.cast
Instances For
If A is totally unimodular and each row of B is all zeros except for at most a single 1 or
a single -1 then fromRows A B is totally unimodular.
If A is totally unimodular and each row of B is all zeros except for at most a single 1,
then fromRows A B is totally unimodular.
Alias of the reverse direction of Matrix.fromRows_one_isTotallyUnimodular_iff.
Alias of the reverse direction of Matrix.one_fromRows_isTotallyUnimodular_iff.
Alias of the reverse direction of Matrix.fromCols_one_isTotallyUnimodular_iff.
Alias of the reverse direction of Matrix.one_fromCols_isTotallyUnimodular_iff.
Alias of Matrix.fromRows_replicateRow0_isTotallyUnimodular_iff.
Alias of Matrix.fromCols_replicateCol0_isTotallyUnimodular_iff.
Alias of Matrix.fromCols_replicateCol0_isTotallyUnimodular_iff.