Eigen——线性代数运算的C++模板库

Eigen是一个强大的C++模板库,专注于矩阵和向量运算,提供了丰富的数组运算符和算术操作。它适用于进行高效、灵活的线性代数计算。
摘要由CSDN通过智能技术生成
    前几天,帮着师兄改写程序,需要将Mathematica编写的程序用C语言翻译出来并运行出结果。这几天下来也算对Eigen有了初步的了解。写一下,希望对大家有所帮助。
在最初选择C++矩阵运算库是,主要参考了如下两篇文,
目前比较主流的矩阵运行库有Armadillo,Eigen ,OpenCV,在选择C++矩阵库时,主要看大家实际情况,这里就对Eigen做初步介绍。深入学习请参考 http://eigen.tuxfamily.org/dox/,也可以下载它的离线下载包学习 http://eigen.tuxfamily.org/dox/index.html
Eigen——线性代数运算的C++模板库,面向矩阵,向量,数值运算以及相关的 运算。
使用Eigen准备工作
Eigen官网上下载Eigen源码库函数包 http://eigen.tuxfamily.org/index.php?title=Main_Page,将它解压到一个不含中文的目录下。
下面就是安装Eigen,我是基于Visual Studio 2010的Windows开发,运行VS2010,创建一个基于Win32控制台应用程序的空项目,在解决方案资源管理器中右击源文件,添加C++文件,粘贴如下代码:
#include <iostream>
#include <Eigen/Dense>
int main()
{
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout << m << std::endl;
}
右击项目->属性->C/C++->常规->附加包含目录,添加解压后的Eigen库函数包。
    输出3     -1
        2.5   1.5   输出成功!

    Eigen矩阵运算的简单介绍
     Eigen provides two kinds of dense objects: mathematical matrices andvectors which are both represented by the template class Matrix, and general 1D and 2D arrays represented by the template class Array:
    这两种类型的变量主要区别:1、Matrix类型变量加减法若行列数不相等,不能做加减。Array类型的变量是可以加减一个常数,作用是各个元素分别加减该常数;2、Matrix与Array类型变量做乘法也会不同,Matrix是矩阵相乘,Array对应元素相乘;
    Matrix 与Array可以相互转换,
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值