Visual C++のディレクトリを含むEigenのいくつかの異なるバージョンをデフォルトに追加しました。しかし、いくつかのテスト数値例でLDLT
(コレスキー分解)を使用すると、折りたたみ問題が発生しました。
したがって、コードのデバッグ時に実際にアクティブなバージョンを確認したいと思います。
現在アクティブな固有バージョン番号を示すことができる関数はありますか?
この回答は、上記のコメントの要約にすぎません。
コンパイル時にはEIGEN_WORLD_VERSION
、EIGEN_MAJOR_VERSION
、EIGEN_MINOR_VERSION
があり、この情報をアプリケーションに簡単に埋め込むことができます。
3.1.91
はbeta version
/3.2
のように聞こえます。
バージョン番号マクロは、Macros.h
にある\Eigen\src\Core\util\
で定義されています。
Eigen C++テンプレートライブラリのバージョン番号を確認するには、次のように入力します。
dpkg -p libeigen3-dev
ターミナルで。または単にタイプする
pkg-config --modversion eigen3
eigenバージョンを取得します。
OPの目的ではありませんが、この質問を見つけた人は、バージョンが等しいかどうかを、異なるバージョンのEigenとの互換性の理由で特定のリリースよりも新しいかどうかを確認することに興味があるかもしれません。これは、次のようにEIGEN_VERSION_AT_LEAST(x, y, z)
マクロを使用してより簡単に行うことができます。
#if EIGEN_VERSION_AT_LEAST(3,3,0)
// Implementation for Eigen 3.3.0 and newer
#else
// Implementation for older Eigen versions
#endif
このマクロもEigen/src/Core/util/Macros.h
で定義されており、EIGEN_WORLD_VERSION
、EIGEN_MAJOR_VERSION
、EIGEN_MINOR_VERSION
を内部で使用しています。