1

arpack++ (arpack の C++ ラッパー) は通常モードでは非常に遅く、シフト反転モードが正しく機能しないため、matlab eigs 関数を ARPACK の C++ ラッパーとして書き直そうとしています。しかし、私は立ち往生しており、キックが必要です。:)

LU Factorization

マトラブ関数:

function [L,U,pp,qq,dgAsB] = LUfactor
    AsB = A;
    [L,U,pp,qq,dgAsB] = lu(AsB);
end

上記のコードのような出力を返す c++ のライブラリはありますか? そして、qq と dgAsB の意味をお聞きしたいと思います。L と U の意味は明確で pp も、大学で習ったのですが、その他の意味がわかりません。

アルパック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++ で AminusSigmaBsolve の効率的なコードを記述できる C++ 用のライブラリが存在するかどうかを尋ねたいと思います。

C ++でMatlabと同じくらい効率的なプログラムを使用したいので、ご回答ありがとうございます。

4

0 に答える 0