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 件)

Rashed Mohammed
Rashed Mohammed 2021 年 3 月 18 日

0 投票

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 ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2020b

質問済み:

2021 年 3 月 15 日

回答済み:

2021 年 3 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by