Documentation

Mathlib.LinearAlgebra.Matrix.LDL

LDL decomposition #

This file proves the LDL-decomposition of matrices: Any positive definite matrix S can be decomposed as S = LDLแดด where L is a lower-triangular matrix and D is a diagonal matrix.

Main definitions #

Main result #

TODO #

noncomputable def LDL.lowerInv {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :
Matrix n n ๐•œ

The inverse of the lower triangular matrix L of the LDL-decomposition. It is obtained by applying Gram-Schmidt-Orthogonalization w.r.t. the inner product induced by Sแต€ on the standard basis vectors Pi.basisFun.

Equations
    Instances For
      theorem LDL.lowerInv_eq_gramSchmidtBasis {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :
      noncomputable instance LDL.invertibleLowerInv {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :
      Equations
        theorem LDL.lowerInv_orthogonal {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) {i j : n} (hโ‚€ : i โ‰  j) :
        inner ๐•œ (WithLp.toLp 2 (lowerInv hS i)) (WithLp.toLp 2 (S.transpose.mulVec (lowerInv hS j))) = 0
        noncomputable def LDL.diagEntries {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :
        n โ†’ ๐•œ

        The entries of the diagonal matrix D of the LDL decomposition.

        Equations
          Instances For
            noncomputable def LDL.diag {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :
            Matrix n n ๐•œ

            The diagonal matrix D of the LDL decomposition.

            Equations
              Instances For
                theorem LDL.lowerInv_triangular {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) {i j : n} (hij : i < j) :
                lowerInv hS i j = 0
                theorem LDL.diag_eq_lowerInv_conj {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :

                Inverse statement of LDL decomposition: we can conjugate a positive definite matrix by some lower triangular matrix and get a diagonal matrix.

                noncomputable def LDL.lower {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :
                Matrix n n ๐•œ

                The lower triangular matrix L of the LDL decomposition.

                Equations
                  Instances For
                    theorem LDL.lower_conj_diag {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [LinearOrder n] [WellFoundedLT n] [LocallyFiniteOrderBot n] {S : Matrix n n ๐•œ} [Fintype n] (hS : S.PosDef) :

                    LDL decomposition: any positive definite matrix S can be decomposed as S = LDLแดด where L is a lower-triangular matrix and D is a diagonal matrix.