Eigen 库
Eigen 是 C++ 语言里的一个开源模版库,支持线性代数运算,矩阵和矢量运算,数值分析及其相关的算法。
它完全由头文件实现, 且对于所有平台都是相同的, 要调用该库只需要添加头文件依赖即可, 无需链接任何静态库, 因而无需对 Eigen 库进行任何形式的编译 / 安装 (某些情况下, 使用 CMake 配置 / 编译 / 安装仅是为了生成文档或测试用例).
如果要使用 CMake 来在自己的程序中引入 Eigen, 可以选择首先对 Eigen 进行 Configure 以生成 Eigen3Config.cmake
文件, 然后通过设置 Eigen3_DIR
来确保 CMake 可以找到该文件.
下载 Release 版: https://gitlab.com/libeigen/eigen/-/releases
Eigen/Getting started: https://eigen.tuxfamily.org/dox/GettingStarted.html
-
模块 头文件 功能 Core #include <Eigen/Core> Matria 和 Array 类,基础的线性代数运算和数组操作 Geometry #include <Eigen/Geometry> 旋转、平移、缩放、2D 和 3D 的各种变换 LU #include <Eigen/LU> 求逆,行列式,LU 分解 Cholesky #include <Eigen/Cholesky> LLT 和 LDLT Cholesky 分解 Householder #include <Eigen/Householder> 豪斯霍尔德变换,用于线性代数运算 SVD #include <Eigen/SVD> SVD 分解 QR #include <Eigen/QR> QR 分解 Eigenvalues #include <Eigen/Eigenvalues> 特征值,特征向量分解 Sparse #include <Eigen/Sparse> 稀疏矩阵的存储和一些基本的线性运算 Dense #include <Eigen/Dense> 包含了 Core/Geometry/LU/Cholesky/SVD/QR/Eigenvalues 模块 Eigen #include <Eigen/Eigen> 包括 Dense 和 Sparse(整个 Eigen 库)
在自己的项目里面添加 Eigen 库依赖:
1 | set(Eigen3_DIR /path/to/Eigen3Config.cmake) |