MATLAB Answers

Incomplete factorization is too slow

1 view (last 30 days)
Daniel Lara
Daniel Lara on 15 Mar 2021
Answered: Rashed Mohammed on 18 Mar 2021
Hi, I'm doing my project of numerical analysis and I have this code to Incomplete Cholesky factorization but for matrix of 625x625 is too slow I tried to use parfor but this don't help. Does anyone have any idea?
function [L]=CholeskyInc(A)
[n,m]=size(A);
if n~= m; error('error');
else
L=speye(n,n);
for k=1:n
L(k,k)=sqrt(A(k,k));
for i=k+1:n
if A(i,k)~=0
L(i,k)=A(i,k)/A(k,k);
end
end
for j=k+1:n
for i=j:n
if (A(i,j))~=0
L(i,j)=A(i,j)-A(i,k)*A(j,k);
end
end
end
end
end

Answers (1)

Rashed Mohammed
Rashed Mohammed on 18 Mar 2021
Hi Daniel,
You can use the MATLAB builtin ichol function for Incomplete Cholesky factorization. However, if you want to optimize your implementation for performance, I suggest you to go through https://www.mathworks.com/help/matlab/matlab_prog/techniques-for-improving-performance.html. It outlines best practices while writing MATLAB code aimed at performance.
Hope this helps

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!