Is a symmetric matrix $A = LDL^T$ positive definite if D contains 2×2 blocks

cholesky decompositionlinear algebramatricesmatrix decomposition

A symmetric matrix $A = LDL^T$ is positive definite if $D$ is diagonal with strictly positive elements.

What about the case where $D$ is block-diagonal: what would be the condition for positive-definiteness ?

Context: I am working on a code where I solve a linear system of equations $Ax=B$ where $A$ is symmetric by construction. I would like to solve the linear system by using the $LDL^T$ factorization and to check the positive-definiteness of the matrix.
I don't want to diagonalize the matrix for performance reasons.

Edit: I suspect the condition to be that all blocks have positive determinant as well, but I am unable to show it.

Thanks !

Best Answer

The only way for $LDL^T$ to be positive definite for any $L$ is if $D$ itself it positive definite. This is because $\left \langle LDL^Tv,v \right \rangle=\left \langle D(L^Tv),(L^Tv) \right \rangle$, and the value of $L^Tv$ is unconstrained, since $v$ and $L$ are arbitrary. If $L$ is assumed to arise from a Cholesky-like decomposition, then it is no longer an arbitrary matrix, but the conclusion about $D$ is still true because $\{L^tv: L \text{ lower triangular}, v\in\mathbb{R}^n\}=\mathbb{R}^n$.

Since $D$ is block diagonal, it is positive definite iff each block is positive definite. therefore the condition that you are after is for each block to be positive definite. Note that this is strictly stronger than having a positive determinant.

In general, a matrix is positive definite iff the determinants of all principal minors are positive; this is called Sylvester's Criterion.

Related Question