Your right. I was able to resolve the issue by using the actual values in the matrix as opposed to rounded values. When using the actual values as opposed to rounded values, the covariance matrix is now valid and becomes positive definite with all eigen values of the matrix now positive. Actual: proc iml; cov={.002537487 .000632960 .002179278, .000632960 .000264712 .000680551, .002179278 .000680551 .007732319}; eval = eigval(cov); print eval; Rounded: proc iml; cov={0.003 0.001 0.002, 0.001 0.0003 0.001, 0.002 0.001 0.008}; eval = eigval(cov); print eval; Thank you!
... View more