大规模稀疏矩阵求逆并在ARPACK OP中使用它

时间:2014-03-04 22:15:14

标签: c++ matlab arpack

我正在尝试重写matlab eigs函数作为ARPACK的C ++包装器,因为arpack ++(用于arpack的C ++包装器)在常规模式下非常慢,shift-invert模式无法正常工作。但我陷入了困境,我需要一脚踢。 :)

LU Factorization

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 OP

function [v] = AminusSigmaBsolve (u)

     v = qq*(U \ (L \ (pp*(dgAsB \ u))));

end

定义了用于移位反转模式的Arpack OP(A-sigma * I)^ - 1 * I * u。首先,我无法理解matlab代码与Arpack OP的关系。我想问一下是否存在任何C ++库,我可以用C ++编写AminusSigmaBsolve的效率代码。

感谢您的回答,因为我想在C ++中使用与Matlab一样高效的程序。

0 个答案:

没有答案