Documentation

Mathlib.Analysis.Matrix.PosDef

Spectrum of positive (semi)definite matrices #

This file proves that eigenvalues of positive (semi)definite matrices are (nonnegative) positive.

Main definitions #

Positive semidefinite matrices #

theorem Matrix.IsHermitian.posSemidef_iff_eigenvalues_nonneg {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.IsHermitian) :

A Hermitian matrix is positive semi-definite if and only if its eigenvalues are non-negative.

@[deprecated Matrix.IsHermitian.posSemidef_iff_eigenvalues_nonneg (since := "2025-08-17")]
theorem Matrix.IsHermitian.posSemidef_of_eigenvalues_nonneg {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.IsHermitian) :

Alias of the reverse direction of Matrix.IsHermitian.posSemidef_iff_eigenvalues_nonneg.


A Hermitian matrix is positive semi-definite if and only if its eigenvalues are non-negative.

theorem Matrix.PosSemidef.eigenvalues_nonneg {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.PosSemidef) (i : n) :
0 โ‰ค โ‹ฏ.eigenvalues i

The eigenvalues of a positive semi-definite matrix are non-negative

theorem Matrix.PosSemidef.re_dotProduct_nonneg {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} (hA : A.PosSemidef) (x : n โ†’ ๐•œ) :
theorem Matrix.PosSemidef.det_nonneg {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.PosSemidef) :
theorem Matrix.PosSemidef.trace_eq_zero_iff {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} (hA : A.PosSemidef) :
A.trace = 0 โ†” A = 0
theorem Matrix.eigenvalues_conjTranspose_mul_self_nonneg {m : Type u_1} {n : Type u_2} {๐•œ : Type u_3} [Fintype m] [Fintype n] [RCLike ๐•œ] (A : Matrix m n ๐•œ) [DecidableEq n] (i : n) :
0 โ‰ค โ‹ฏ.eigenvalues i
theorem Matrix.eigenvalues_self_mul_conjTranspose_nonneg {m : Type u_1} {n : Type u_2} {๐•œ : Type u_3} [Fintype m] [Fintype n] [RCLike ๐•œ] (A : Matrix m n ๐•œ) [DecidableEq m] (i : m) :
0 โ‰ค โ‹ฏ.eigenvalues i

Positive definite matrices #

theorem Matrix.IsHermitian.posDef_iff_eigenvalues_pos {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.IsHermitian) :
A.PosDef โ†” โˆ€ (i : n), 0 < hA.eigenvalues i

A Hermitian matrix is positive-definite if and only if its eigenvalues are positive.

theorem Matrix.PosDef.re_dotProduct_pos {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} (hA : A.PosDef) {x : n โ†’ ๐•œ} (hx : x โ‰  0) :
theorem Matrix.PosDef.eigenvalues_pos {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.PosDef) (i : n) :
0 < โ‹ฏ.eigenvalues i

The eigenvalues of a positive definite matrix are positive.

theorem Matrix.PosDef.det_pos {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] {A : Matrix n n ๐•œ} [DecidableEq n] (hA : A.PosDef) :
0 < A.det
@[reducible, inline]
noncomputable abbrev Matrix.toSeminormedAddCommGroup {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] (M : Matrix n n ๐•œ) (hM : M.PosSemidef) :
SeminormedAddCommGroup (n โ†’ ๐•œ)

A positive semi-definite matrix M induces a norm โ€–xโ€– = sqrt (re xแดดMx).

Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev Matrix.toNormedAddCommGroup {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] (M : Matrix n n ๐•œ) (hM : M.PosDef) :
      NormedAddCommGroup (n โ†’ ๐•œ)

      A positive definite matrix M induces a norm โ€–xโ€– = sqrt (re xแดดMx).

      Equations
        Instances For
          def Matrix.toInnerProductSpace {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] (M : Matrix n n ๐•œ) (hM : M.PosSemidef) :
          InnerProductSpace ๐•œ (n โ†’ ๐•œ)

          A positive semi-definite matrix M induces an inner product โŸชx, yโŸซ = xแดดMy.

          Equations
            Instances For
              @[deprecated Matrix.toNormedAddCommGroup (since := "2025-10-26")]
              def Matrix.NormedAddCommGroup.ofMatrix {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] (M : Matrix n n ๐•œ) (hM : M.PosDef) :
              NormedAddCommGroup (n โ†’ ๐•œ)

              Alias of Matrix.toNormedAddCommGroup.


              A positive definite matrix M induces a norm โ€–xโ€– = sqrt (re xแดดMx).

              Equations
                Instances For
                  @[deprecated Matrix.toInnerProductSpace (since := "2025-10-26")]
                  def Matrix.InnerProductSpace.ofMatrix {n : Type u_2} {๐•œ : Type u_3} [Fintype n] [RCLike ๐•œ] (M : Matrix n n ๐•œ) (hM : M.PosSemidef) :
                  InnerProductSpace ๐•œ (n โ†’ ๐•œ)

                  Alias of Matrix.toInnerProductSpace.


                  A positive semi-definite matrix M induces an inner product โŸชx, yโŸซ = xแดดMy.

                  Equations
                    Instances For