C++ 矩阵计算库 Eigen 使用笔记(一)

这篇博客介绍了如何在C++中使用Eigen库进行矩阵计算,包括如何调用Intel Math Kernel Library(MKL)的优化算法,向量的单位化操作,获取矩阵的列向量,使用Gram-Schmidt正交化算法,以及如何从向量构建对角矩阵。通过这些内容,读者可以更好地理解和应用Eigen库进行数值计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. intel Math Kernel Library 的调用

在 #include 任何 Eigen 库的头文件之前,定义宏

#define EIGEN_USE_MKL_ALL

可以根据自己的需要单独定义所需的 MKL 部分。可用的宏是
EIGEN_USE_BLAS 使用 BLAS Level 2 与 BLAS Level 3 的算法;
EIGEN_USE_LAPACKE 通过 intel MKL C 接口,使用扩展的 LAPACK 算法;
EIGEN_USE_LAPACKE_STRICT 使用更加稳定的 LAPACK 算法(比如用 gesvd 代替 Jacobi 旋转),一般情况下无需使用此选项;
EIGEN_USE_MKL_VML 使用 MKL 函数的矢量化优化;
EIGEN_USE_MKL_ALL 相当于同时定义了 EIGEN_USE_BLAS, EIGEN_USE_LAPACKE 和 EIGEN_USE_MKL_VML.
务必注意,宏的定义必须在引用任何 Eigen 头文件之前,否则调用是无效的。64位操作系统上

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值