by Julien Langou » Mon Jul 23, 2012 11:57 pm
To check positive definiteness of a real symmetric matrix, the best way is to perform its Cholesky factorization. If the Cholesky factorization succeeds, the matrix is
symmetric positive definite. If the Cholesky factorization does not succeed, the matrix is not symmetric positive definite. LAPACK routine name for Cholesky factorization is DPOTRF.
To compute the eigenvalues of a real symmetric matrix, you can use DSYEV, DSYEVD, DSYEVR or DSYEVX.
Of course you can avoid DPOTRF and always compute the eigenvalues with DSYEV (or others) and check whether some eigenvalues are negative to assess positive definiteness. If your matrix is likely to be positive definite, a check with DPOTRF is really faster than using DSYEV (or others).
Cheers,
Julien.