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 #
LDL.loweris the lower triangular matrixL.LDL.lower_invis the inverse of the lower triangular matrixL.LDL.diagis the diagonal matrixD.
Main result #
ldl_decompositionstates that any positive definite matrix can be decomposed asLDLᴴ.
TODO #
- Prove that
LDL.loweris lower triangular fromLDL.lower_inv_triangular.
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
- LDL.lower_inv hS = gram_schmidt 𝕜 ⇑(pi.basis_fun 𝕜 n)
Instances for LDL.lower_inv
Equations
- LDL.invertible_lower_inv hS = _.mpr ((pi.basis_fun 𝕜 n).to_matrix ⇑(gram_schmidt_basis (pi.basis_fun 𝕜 n))).invertible_transpose
The entries of the diagonal matrix D of the LDL decomposition.
Equations
- LDL.diag_entries hS = λ (i : n), has_inner.inner (⇑((pi_Lp.equiv 2 (λ (ᾰ : n), 𝕜)).symm) (has_star.star (LDL.lower_inv hS i))) (⇑((pi_Lp.equiv 2 (λ (i : n), 𝕜)).symm) (S.mul_vec (has_star.star (LDL.lower_inv hS i))))
The diagonal matrix D of the LDL decomposition.
Equations
- LDL.diag hS = matrix.diagonal (LDL.diag_entries hS)
Inverse statement of LDL decomposition: we can conjugate a positive definite matrix by some lower triangular matrix and get a diagonal matrix.
The lower triangular matrix L of the LDL decomposition.
Equations
- LDL.lower hS = (LDL.lower_inv hS)⁻¹
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.