Incomplete factorization is too slow

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

回答(1 个)

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

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by