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.