前言

Eigen是一个高层次开源C++库,有效支持线性代数、矩阵和矢量运算、数值分析及其相关算法。

编译安装

下载Eigen源码,解压缩后,用Cmake-GUI打开,选择MSVC编译:

1

Configure后修改install目录:

2

点击Generate生成工程,然后点击open Project打开VS .sln工程文件,编译INSTALL项目

3

编译结束后,便可以在上面指定的install文件夹下找到Eigen库。

测试用例

新建CMakeLists.txteigen_test.cpp文件,内容分别如下:

cmake_minimum_required(VERSION 3.6)

project(eigen_test)

find_package(Eigen3 REQUIRED)

include_directories(${EIGEN3_INCLUDE_DIRS})

message(-----${EIGEN3_INCLUDE_DIRS}-----)

add_executable(eigen_test eigen_test.cpp)

target_link_libraries(eigen_test)
#include <iostream>
#include "Eigen/Dense"

int main(int argc, char** argv)
{
Eigen::Matrix<int, 2, 2> a, b;
a << 1, 1,
1, 0;
b << 1, 0,
0, 1;
std::cout << a * b << std::endl;
return 0;
}

同样选择用Cmake-GUI MSVC编译,注意修改Eigen3_DIR

4

打开工程,编译eigen_test项目,执行有如下打印:

1 1
1 0

Linux安装

apt install libeigen3-dev
whereis eigen3

进阶学习

代码可以参考[2],有能力可以直接阅读官网文档

参考

[1] Eigen官方文档

[2] Eigen中文翻译