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