我有以下代码摘录:
%suppose A is a 40000 by 40000 matrix
phi = zeros(40000,1);
for t = 1:360
phivec = -phi;
phi = full(A\sparse(phivec));
end
对于每个t,我解决了系统A * x = phivec。对于t = 1,给出了phivec。对于t> 1,phivec来自t-1处的phivec。有没有办法加快这个过程,因为每个t的A是相同的。我确实在循环开始之前尝试反转A并进行矩阵乘法,但由于A很大(40000 * 40000),因此占用了大量内存。有没有办法将A反转一次以节省时间?