我想求解线性方程组 AX = B,其中 A 是稀疏且正定的。 B 是矩阵而不是列向量。所以我必须求解多个线性方程组(有多个右手边)。我如何在 Matlab 中为此使用共轭梯度?
我可以使用适用于列向量 B 的那个。
最佳答案
Supply B 是列向量 B(:)。此外,以函数形式提供 A 的有效实现,
[ma,na]=size(A);
[mb,nb]=size(B);
afun=@(x) reshape(A*reshape(x,na,[]),[],1);
X=pcg(afun,B(:));
X=reshape(X,na,nb);
关于matlab - matlab中的 block 共轭梯度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20978366/