Documentation

LeanPool.SpectralPositivity.Matrix.NonnegPower

Nonneg Matrix Powers and Positivity #

Proves that nonneg matrices have nonneg powers, and that the truncated matrix exponential of a nonneg matrix is nonneg. These are the building blocks for the Metzler matrix exponential theorem (in MetzlerExp.lean).

Main results (all PROVED) #

References #

def Matrix.NonnegOffDiag {n : Type u_1} (L : Matrix n n ) :

A matrix has nonneg off-diagonal entries (Metzler condition).

Equations
Instances For
    def Matrix.Nonneg {n : Type u_1} (M : Matrix n n ) :

    A matrix has all nonneg entries.

    Equations
    Instances For
      theorem Matrix.Nonneg.pow {n : Type u_1} [Fintype n] [DecidableEq n] {M : Matrix n n } (hM : M.Nonneg) (k : ) :
      (M ^ k).Nonneg

      A nonneg matrix has nonneg powers.

      theorem Matrix.Nonneg.sum {n : Type u_1} {ι : Type u_2} {s : Finset ι} {M : ιMatrix n n } (hM : is, (M i).Nonneg) :
      (∑ is, M i).Nonneg

      Sum of nonneg matrices is nonneg.

      theorem Matrix.Nonneg.smul {n : Type u_1} {M : Matrix n n } (hM : M.Nonneg) {c : } (hc : 0 c) :
      (c M).Nonneg

      Scalar multiple of a nonneg matrix by a nonneg scalar is nonneg.

      theorem truncated_exp_nonneg {n : Type u_1} [Fintype n] [DecidableEq n] {M : Matrix n n } (hM : M.Nonneg) {t : } (ht : 0 t) (N : ) :
      (∑ kFinset.range (N + 1), (1 / k.factorial) (t M) ^ k).Nonneg

      The truncated matrix exponential Σ_{k=0}^{N} (tM)^k / k! is nonneg when M is nonneg and t ≥ 0.

      theorem markov_generator_nonneg_offdiag {m : Type u_2} [DecidableEq m] (M : Matrix m m ) (hM : M.Nonneg) :

      For a Markov operator M (nonneg entries), the generator L = M - I has nonneg off-diagonal entries: L_{xy} = M_{xy} ≥ 0 for x ≠ y.