MATLAB Answers

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)

Sign in to answer this question.