Eigen库使用KML
Eigen库介绍
Eigen库是一个用于线性代数运算的C++模板库。它提供了高性能的矩阵运算和线性代数操作,被广泛应用于科学计算、机器学习和计算机图形学等领域。详细介绍可参考Eigen官网。Eigen库官方提供了使能开源BLAS以及LAPACK的方式,同样可以使用到KML中的BLAS与LAPACK库,相比原生Eigen提供了更高性能的矩阵运算接口。除了标准的BLAS、LAPACK接口,鲲鹏数学库提供了额外的BLAS接口供Eigen使用,详细接口信息请参见KML_BLAS like extensions。
Eigen库应用
方式一:由于Eigen库只包含头文件,只需将解压后的文件夹放在工程目录下后引用需要的头文件即可。
方式二:进入解压后的文件夹,进行编译。
- 编译并安装Eigen。
mkdir build cd build cmake .. sudo make install
- 检查是否安装成功,可以编译以下示例代码。
- 新建hello_eigen.cpp文件。
vi hello_eigen.cpp
- 按“i”进入编辑模式,在文件中添加以下内容。
// hello_eigen.cpp #include <iostream> #include <eigen3/Eigen/Dense> using Eigen::MatrixXd; int main(){ MatrixXd m(2,2); m(0,0) = 3; m(1,0) = 2.5; m(0,1) = -1; m(1,1) = 1; std::cout << m << std::endl; }
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 执行编译。
g++ hello_eigen.cpp -o hello_eigen
编译成功后输出为内容如下所示。3 -1 2.5 1
- 新建hello_eigen.cpp文件。
父主题: 其他常用数学库迁移到KML