Why would chol fail?

1 view (last 30 days)
David Winthrop
David Winthrop on 23 Apr 2013
Commented: Mohamed Selim on 10 Oct 2013
I have a positive definite sparse array. When I do the chol like
L = chol(M,'lower')
M2 = (L)*(L.')
I find that M2 is not equal to M. I mean that all the elements are equal except 4. These elements are zero in M and -.7 on M2, and vis versa. In other words, M2 has two element pairs that have switched values. I thought M2 should equal M.
I need to solve
Ax = b
Ax = c
Ax = d
How can I use chol to do this efficiently? I have to use stock MATLAB functions.
  1 Comment
Mohamed Selim
Mohamed Selim on 10 Oct 2013
chol function works only with Positive Definate and Symmetric square matrices.
Make sure that your matrix M is symmetric.
You can use "isequal(M , M')"
if you get "1" => M is Symmetric
If you get "0" => M is not Symmetric.

Sign in to comment.

Answers (0)


Find more on Sparse Matrices in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!