線形システムを解くために、いくつかの大規模なスパース行列に対して、Matlab で LU 分解アルゴリズムを実装します。L,U 行列を取得したら、後方置換アルゴリズムと前方置換アルゴリズムを使用して三角線形システムを解きました。
%x = U\y;
for i = n : -1 : 1
x(i,:) = (y(i,:)-U(i,:)*x)/U(i,i);
end
しかし、このコードがボトルネックであることがわかりました。A\b を使用して解決策を得ることができますが、Matlab でこの問題を解決する効率的なアルゴリズムを実装する方法を知りたいです。たとえば、for ループなしで次のアクションをシミュレートする行列積を記述できますか?
(私はいくつかの参考書と紙を手に入れましたが、すべてのコードは Matlab にあるわけではなく、C++ または C コードのためだけです)