1.Eigen使用只要VS2013的项目属性中包含目录有Eigen文件夹即可,使用时头文件使用#include "Eigen/Dense"
使用#include <Eigen/Dense>是有问题的,因为<>表示vs2013内置库文件的位置
2.Eigen的列向量只能与列向量操作,行相量与行相量操作。即使是使用array()后是对应元素进行操作的,此时还是会分列向量还是行向量的
例如:
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);
RowVectorXd v(2);
v << 1, 2;
m.row(1).array() = m.row(1).array()*v.array();
此时运行正常,因为Vector是行向量,matrix取出的也是行相量
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);
VectorXd v(2);
v << 1, 2;
m.row(1).array() = m.row(1).array()*v .array();
此时运行错误,因为v是列向量,matrix取出的是行向量