大规模稀疏矩阵求逆及其在ARPACK运算中的应用 我尝试将Matlab EIGS函数改写为ARCACP的C++包装,因为ARPACK +(C++包的ARPACK)在常规模式下非常慢,移位倒置模式不能正常工作。但我陷入了困境,我需要踢一脚。:)
Matlab函数:大规模稀疏矩阵求逆及其在ARPACK运算中的应用 我尝试将Matlab EIGS函数改写为ARCACP的C++包装,因为ARPACK +(C++包的ARPACK)在常规模式下非常慢,移位倒置模式不能正常工作。但我陷入了困境,我需要踢一脚。:),c++,matlab,arpack,C++,Matlab,Arpack,Matlab函数: function [L,U,pp,qq,dgAsB] = LUfactor AsB = A; [L,U,pp,qq,dgAsB] = lu(AsB); end 是C++的任何一个库,它像上面的代码一样返回我的输出吗?我想问qq和dgAsB是什么意思。L和U的意思很清楚,pp也是,我在大学里学的,但我不知道别人的意思是什么 Arpack操作 function [v] = AminusSigmaBsolve (u) v = qq*(U \ (L \
function [L,U,pp,qq,dgAsB] = LUfactor
AsB = A;
[L,U,pp,qq,dgAsB] = lu(AsB);
end
<>是C++的任何一个库,它像上面的代码一样返回我的输出吗?我想问qq和dgAsB是什么意思。L和U的意思很清楚,pp也是,我在大学里学的,但我不知道别人的意思是什么
Arpack操作
function [v] = AminusSigmaBsolve (u)
v = qq*(U \ (L \ (pp*(dgAsB \ u))));
end
定义了移位反转模式的Arpack OP(A-西格玛*I)^-1*I*u。首先我不明白MATLAB代码是如何与Arpack OP.有关的,我想问一下,是否存在C++的库,我可以在C++中编写有效的MigSigMababeActudio代码。
谢谢你的回答,因为我想用程序和C++中的Matlab一样高效。你想做特征解,还是LU分解。我也怀疑你说的arpack++不起作用。恕我直言,我认为它很可能工作得很好,但你可能以这样或那样的方式滥用了它。两者兼而有之。LU分解是Arpack OP中计算逆矩阵的工具。您真的想计算逆矩阵吗?通常这是不应该做的事情。通常使用LU来解未知x的Ax=b。LU和本征解是不同的。如果你想做LU,你想使用哪个库?关于
LUFactor
的返回值,文档解释如下:
function [v] = AminusSigmaBsolve (u)
v = qq*(U \ (L \ (pp*(dgAsB \ u))));
end