0

Matlabのコマンドを使用して、Matlabの2次の多項式固有値問題を解いています。私はシステムが単一の0固有値を持っていることを知っています(これは、各対角要素が同じ行の要素の合計の-1倍なので、ベクトル(1 1 1 ... 1 )は0の固有値を持つ)。私は得る最小固有値が順1E-4(0固有値していると想定される)であるpolyeigコマンドを使用して、第二の最低がである場合、システムのMatlabのpolyeigの精度の向上

サイズは約150 150 にあります次数1E-1。システムのサイズが小さくなるにつれて、最も低い固有値は、1E-14のオーダーに減少しますが、これは合理的ですが、1E-4は多すぎます。

より正確な精度や他のライブラリをお勧めしますか? 高次元(与えられた次元の2倍)では、多項式固有値問題を一般化固有値問題に変えることもできますが、速度と精度にどのように影響するかはわかりません。私は問題を再定式化する前に簡単な解決策があるかどうかを見たいと思います。だから私はこれらの事柄に関する提案を歓迎する。

EDIT:実際には、使用していたINPUTファイルの精度が4桁までしか印刷されないという問題が解決されました。より良いものを見つけたら、精度は高まっています。いずれにせよありがとう。

+0

良い仕事! StackOverflowの詳細な質問を書くだけで問題を見つけるのに役立つことがよくあります。解決策として回答を投稿して受け入れることはできますか? –

答えて

0

問題は、使用していた入力ファイルが小数点以下4桁までしか印刷されていないことが判明しました。今では800x800の行列でさえ、私はe-11までの精度の問題しかありません。

関連する問題