I am trying to decompose a cross spectral density matrix (A Complex Matrix) using "chol" command in MATLAB. we know that every positive definite and Hermitian matrix can be decomposed using Cholesky decomposition. and we know that if a Hermitian matrix has positive eigenvalues, then it is positive definite. it should be mentioned that cross spectral density matrix is Hermitian by definition. the problem is that when I use "chol" command, it fails and the error message is " Matrix must be positive definite". I check the eigenvalues of matrix and their real parts are positive. any help is highly appreciated.

  • $\begingroup$ If the matrix is exactly Hermitian, the chol command should have no problem. On the other hand, if numerical errors make it slightly non-Hermitian, chol can fail. You can try to "symmetrize" your matrix, e.g., with A=0.5*(A+A'). $\endgroup$ – Algebraic Pavel Mar 14 at 16:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.