Visual Studio 2022のC++環境で数値計算ライブラリ(Eigen)を使う

インストール

  • Visual Studio (Community) 2022をインストール
  • Eigen 3.4.0をダウンロード(http://eigen.tuxfamily.org/index.php?title=Main_Page(eigen-3.4.0,zip))
  • eigen-3.4.0.zipを展開(ここではC:\Applications\eigen-3.4.0以下にファイル群を展開)
  • システム環境変数のPathに「C:¥Applications¥eigen-3.4.0¥Eigen」を追加

プロジェクトの設定

  • プロジェクトを作成(ここではeigen_test)
  • ソリューションエクスプローラーでeigen_testを右クリック「プロパティ」
  • 「構成プロパティ」「C/C++」「全般」の「追加のインクルードディレクトリ」に「C:¥Applications¥eigen-3.4.0」を追加

ビルド

  • 下記のようなEigenを使ったコードをビルド・実行できることを確認
#include <iostream>
#include <Eigen/Dense>

using namespace std;
using namespace Eigen;

int main(void)
{
    MatrixXd a(2, 2);
    a(0, 0) = 1.0;
    a(1, 0) = 2.0;
    a(0, 1) = 3.0;
    a(1, 1) = 4.0;

    MatrixXd b(2, 2);
    b(0, 0) = 2.0;
    b(1, 0) = 3.0;
    b(0, 1) = 4.0;
    b(1, 1) = 5.0;

    Vector3d c(1, 2, 3);
    Vector3d d(2, 4, 6);

    MatrixXd e = a + b;
    MatrixXd f = b - a;
    MatrixXd g = 2.0 * a;
    MatrixXd h = a * b;
    double i = c.dot(d);
    Vector3d j = c.cross(d);

    cout << "matrix a:\n" << a << "\n\n";
    cout << "matrix b:\n" << b << "\n\n";
    cout << "vector c:\n" << c << "\n\n";
    cout << "vector d:\n" << d << "\n\n";
    cout << "a + b:\n" << a + b << "\n\n";
    cout << "b - a:\n" << b - a << "\n\n";
    cout << "2 * a:\n" << 2.0 * a << "\n\n";
    cout << "a * b:\n" << a * b << "\n\n";
    cout << "c dot d:\n" << c.dot(d) << "\n\n";
    cout << "c cross d:\n" << c.cross(d) << "\n\n";

    return 0;
}