Documentation

Mathlib.LinearAlgebra.Matrix.Determinant.TotallyNonneg

Totally nonnegative matrices #

This file defines totally nonnegative matrices and provides basic API for them.

Main definitions #

Main results #

def Matrix.IsTotallyNonneg {ι : Type u_1} {R : Type u_3} [PartialOrder ι] [CommRing R] [PartialOrder R] (M : Matrix ι ι R) :

A matrix is totally nonnegative if all its finite minors have nonnegative determinant.

Equations
Instances For
    theorem Matrix.IsTotallyNonneg.submatrix {ι : Type u_1} {κ : Type u_2} {R : Type u_3} [PartialOrder ι] [PartialOrder κ] [CommRing R] [PartialOrder R] {M : Matrix ι ι R} {f g : κι} (hM : M.IsTotallyNonneg) (hf : StrictMono f) (hg : StrictMono g) :
    theorem Matrix.IsTotallyNonneg.nonneg {ι : Type u_1} {R : Type u_3} [PartialOrder ι] [CommRing R] [PartialOrder R] {M : Matrix ι ι R} (hM : M.IsTotallyNonneg) (i j : ι) :
    0 M i j
    theorem Matrix.IsTotallyNonneg.diagonal {ι : Type u_1} {R : Type u_3} [PartialOrder ι] [CommRing R] [PartialOrder R] [IsOrderedRing R] [DecidableEq ι] {f : ιR} (hf : 0 f) :

    A diagonal matrix with nonnegative diagonal entries is totally nonnegative.

    @[simp]
    theorem Matrix.isTotallyNonneg_diagonal_iff {ι : Type u_1} {R : Type u_3} [PartialOrder ι] [CommRing R] [PartialOrder R] [IsOrderedRing R] [DecidableEq ι] {f : ιR} :
    theorem Matrix.IsTotallyNonneg.smul {ι : Type u_1} {R : Type u_3} [PartialOrder ι] [CommRing R] [PartialOrder R] [IsOrderedRing R] {M : Matrix ι ι R} (hM : M.IsTotallyNonneg) {c : R} (hc : 0 c) :
    theorem Matrix.isTotallyNonneg_smul_iff {ι : Type u_1} [PartialOrder ι] {R : Type u_4} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] {M : Matrix ι ι R} {c : R} (hc : 0 < c) :