[Math] Cholesky decomposition – non-positive definite matrix

linear algebramatricesnumerical linear algebrara.rings-and-algebras

In order to pass the Cholesky decomposition, I understand the matrix must be positive definite. However, I also see that there are issues sometimes when the eigenvalues become very small but negative that there are work around for adjusting the small negative values in order to turn the original matrix into positive definite. What are the steps to do this? And I assume this will adjust my original correlation matrix so it becomes positive definite.

Additionally, what are the issues with passing a non-positive definite correlation matrix through the Cholesky decomposition?

Best Answer

For a stable Cholesky algorithm for positive semi-definite matrices, see Analysis of the Cholesky Decomposition of a Semi-definite Matrix. For the more general case of small negative eigenvalues, see Correcting Non Positive Definite Correlation Matrices (direct download, includes Matlab code).