Advertisement
Guest User

methlab

a guest
Nov 15th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. %Cholesky decomposition
  2. A = [44 15 29 26 119;15 33 22 18 15;29 32 252 112 73;26 18 112 124 90; 119 15 73 90 430];
  3. eigenvals = eig(A);
  4. if all(A>0)
  5. disp("Matrix A is spd!")
  6. end
  7.  
  8. H1 = chol(A)';
  9. H2 = MyChol(A);
  10. disp(H1);
  11. disp(H2);
  12. disp(isequal(H1,H2));
  13.  
  14. function[H]=MyChol(A)
  15. dimension = size(A);
  16. H = zeros(dimension(1),dimension(1));
  17.  
  18. H(1,1) = sqrt(A(1,1));
  19.  
  20. for i=2:dimension(1)
  21.  
  22. for j=1:i-1
  23. tempsum = 0;
  24. for k=1:j-1
  25. tempsum = tempsum + H(i,k)*H(j,k);
  26. end
  27. H(i,j) = (A(i,j)-tempsum)/H(j,j);
  28. end
  29.  
  30. rowsum = 0;
  31. for k=1:i-1
  32. rowsum = rowsum + H(i,k)^2;
  33. end
  34. H(i,i) = sqrt(A(i,i)-rowsum);
  35.  
  36. end
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement