Eigen是纯头文件C++矩阵库,无需编译链接,包含即可使用;支持固定/动态大小矩阵向量,推荐逗号初始化器。

在C++中使用Eigen库做矩阵运算,核心是理解其表达式模板机制和零拷贝设计——不用手动管理内存,也不用写循环,写法接近数学公式。
安装与基本配置
Eigen是纯头文件库,不需要编译安装。下载官方zip包或用包管理器(如vcpkg、conan)引入后,在代码中直接包含即可:
-
#include
—— 常用矩阵、向量、线性代数功能全在这里 -
#include
—— 大型稀疏矩阵才需要 - 无需链接任何库,编译时加上 -I/path/to/eigen 指向头文件目录
定义矩阵与向量
Eigen提供多种预设类型,按数据类型(float/double)和大小(固定/动态)区分:
- Eigen::Matrix2d A; —— 2×2双精度矩阵,未初始化
- Eigen::MatrixXd B(3, 4); —— 动态大小的3行4列矩阵,元素默认未初始化
- Eigen::Vector3f v; —— 固定长度为3的单精度向量
- Eigen::RowVectorXf u(5); —— 动态行向量,含5个float元素
- 初始化推荐用逗号初始化器:A (按列优先填入)
常见线性代数运算
运算符重载让写法自然,且大部分操作是延迟求值(lazy evaluation),真正计算发生在赋值或取值时:
标签: c++
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~