mathlib3 documentation

linear_algebra.matrix.ldl

LDL decomposition #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file proves the LDL-decomposition of matricies: 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.lower_inv {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :
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.basis_fun.

Equations
Instances for LDL.lower_inv
theorem LDL.lower_inv_eq_gram_schmidt_basis {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :
@[protected, instance]
noncomputable def LDL.invertible_lower_inv {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :
Equations
theorem LDL.lower_inv_orthogonal {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) {i j : n} (hβ‚€ : i β‰  j) :
has_inner.inner (⇑((pi_Lp.equiv 2 (Ξ» (αΎ° : n), π•œ)).symm) (LDL.lower_inv hS i)) (⇑((pi_Lp.equiv 2 (Ξ» (i : n), π•œ)).symm) (S.transpose.mul_vec (LDL.lower_inv hS j))) = 0
noncomputable def LDL.diag_entries {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :
n β†’ π•œ

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

Equations
noncomputable def LDL.diag {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :
matrix n n π•œ

The diagonal matrix D of the LDL decomposition.

Equations
theorem LDL.lower_inv_triangular {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) {i j : n} (hij : i < j) :
LDL.lower_inv hS i j = 0
theorem LDL.diag_eq_lower_inv_conj {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :

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} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :
matrix n n π•œ

The lower triangular matrix L of the LDL decomposition.

Equations
theorem LDL.lower_conj_diag {π•œ : Type u_1} [is_R_or_C π•œ] {n : Type u_2} [linear_order n] [is_well_order n has_lt.lt] [locally_finite_order_bot n] {S : matrix n n π•œ} [fintype n] (hS : S.pos_def) :

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.