小熊猫C++ Eigen库安装及使用
1、Eigen库介绍
使用计算机进行矩阵运算是工科生的必备技能。除了使用matlab进行矩阵运算,我们还可以使用Eigen库进行矩阵运算。Eigen库包含有矩阵、向量等丰富的数学运算。但与matlab内嵌矩阵运算库不同的是,我们需要自行下载Eigen库。下面将用小熊猫C++编译软件进行Eigen库安装和使用介绍。
2、Eigen库下载
Eigen库的下载是免费的,可以直接在其官网下载最新的库。
Eigen官网:https://eigen.tuxfamily.org/index.php?title=Main_Page
下载后,将其解压,记住解压后的位置,后面要用!
3、在小熊猫C++平台添加Eigen库
1)创建项目
2)右键项目,选择项目属性
3)选择文件夹中的头文件,点击+,找到“2、Eigen库下载”中解压后的位置,点击确认后就可以了。
4、在小熊猫C++平台使用Eigen库
1)头文件及命名空间
要想在主函数中使用Eigen库,就必须先添加头文件,如果是简单的矩阵和向量运算,添加<Eigen/Core>就可以了。
#include<Eigen/Core>
为了节省时间和精力,可以直接使用Eigen的命名空间
using namespace Eigen;
如果没有这句,主函数里每次调用Eigen的对象和函数都必须在前面加一个“Eigen::”
2)常用运算
(1)创建矩阵/向量
创建一个矩阵,“Matrix<type, rows, columns>name,即创建一个几行几列的,某种数据类型的矩阵
Matrix<float, 3, 3> matrix1; //3行3列的float型矩阵 matrix1
创建一个向量,“Vector<type, numbers>name,即创建一个含有12个元素的,某种类型的向量。
Vector<float, 12>vector1; //含有12个元素的向量 vector1
当然,也有更简洁的声明方式
MatrixXf matrix1(3,4); //创建一个3行4列的矩阵
MatrixXf matrix2(3,3); //创建一个三维方阵
MatrixXf matrix3(3,3);
Vector3f vector1; //创建一个包含3个元素的向量
(2)为矩阵向量赋值
无论是矩阵还是向量都可以直接使用”<<“符号对其进行赋值,赋值时每个元素之间仅用逗号即可,若是对矩阵赋值记得一行一行赋值。
matrix1 << 1,2,3,4,5,6,7,8,9; //矩阵赋值
vector1 << 1,2,3,4,5,6,7,8,9,10,11,12; //向量赋值
(3)矩阵运算
cout<<matrix1.transpose()<<endl; //矩阵转置
cout<<matrix1.conjugate()<<endl; //矩阵共轭
cout<<matrix1.adjoint()<<endl; //矩阵共轭转置
cout<<matrix2.inverse()<<endl; //方阵求逆
先介绍到这,后续会更新更详细的使用说明。