2016-11-18 8 views
1

Eigenは素晴らしい代数/行列計算のC++ライブラリです。私はこれを開発中のプロジェクトで使用しています。しかし、誰かがそれを使用しないように私に言ったのは、それが標準的な容器に依存しているからです。それは私には疑問です。標準コンテナを使用しない理由は複雑で、今は無視しています。私の質問は、eigenの実装は本当に標準のコンテナに依存しているのですか?私はEigenのホームページを検索しましたが、何も見つかりませんでした。誰でも助けてくれますか?Eigenの実装は標準コンテナに依存しますか?

答えて

2

私はむしろ、唯一の2つの非常にわずかな使用があるとしてを言わないだろう:

最初のものはstd::vectorstd::listがないメンバーとして、計算中にいくつかの一時オブジェクトを保持するために使用されているIncompleteCholeskyであるが。このクラスは、ユーザーが明示的に使用する場合にのみ使用されます。

第2のモジュールはSuperLUSupportモジュールであり、第3のライブラリをサポートするモジュールです。繰り返しますが、間違って使うことはできません!

Aviで言及されているStlSupportモジュールは、STLコンテナ内でのEigenの行列の格納を容易にするヘルパーモジュールです。

+0

ありがとうございました。プロジェクトでIncompleteCholeskyやSuperLUSupportを使用していません。あなたは本当に私を助けてくれます!再度、感謝します。 –

2

はい、ただし少しです。正確な使用方法によっては、これらの部品が必要ない場合もあります。クイックgrepを実行して、std::コンテナが使用されている場所と場所を正確に確認することができます。 3.3.0では、std::vectorメンバーとstd::list<>::iterator./src/IterativeLinearSolvers/IncompleteCholesky.hにあり、std::vectorは通常、スパース行列(SparseMatrix::setFromTriplets、実際はイテレータが必要ですが)の入力として使用されます。

./src/StlSupport/ディレクトリもありますが、それはあなたが望まないものではありません。

+0

はい、結論は@ggaelと似ています。しかし、あなたは私に有用なスキルを教えてくれました: 'grep'を使って特定のクラス/ライブラリの使い方を見つけてください!ありがとう! –

+0

@WenwenKang ggaelの答えがあなたの質問に最もよく答えたら、それを[受け入れ](http://stackoverflow.com/help/someone-answers)としてマークすることを検討してください。 –

関連する問題