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 determinant0
or1
or-1
.
Main results #
Matrix.isTotallyUnimodular_iff
: a matrix is totally unimodular iff every square submatrix (possibly with repeated rows and/or repeated columns) has determinant0
or1
or-1
.Matrix.IsTotallyUnimodular.apply
: entry in a totally unimodular matrix is0
or1
or-1
.
theorem
Matrix.fromRows_row0_isTotallyUnimodular_iff
{m : Type u_1}
{n : Type u_2}
{R : Type u_3}
[CommRing R]
(A : Matrix m n R)
{m' : Type u_4}
:
(A.fromRows (Matrix.row m' 0)).IsTotallyUnimodular ↔ A.IsTotallyUnimodular
theorem
Matrix.fromColumns_col0_isTotallyUnimodular_iff
{m : Type u_1}
{n : Type u_2}
{R : Type u_3}
[CommRing R]
(A : Matrix m n R)
{n' : Type u_4}
:
(A.fromColumns (Matrix.col n' 0)).IsTotallyUnimodular ↔ A.IsTotallyUnimodular