所有密集矩阵,向量的基类。
如果想要以Eigen中的任意矩阵或向量作为一个函数的形参,就可以定义模板函数。例如
打印矩阵中的第一行
template<typename Derived>
void printFirstRow(const Eigen::MatrixBase<Derived>& x)
{
cout << x.row(0) << endl;
}
derived是一个继承的类型,可以是一个矩阵、表达式
模板函数中若有两个不同类型的矩阵时,需要改变定义方式,例如
template<typename Derived1, typename Derived2>
void addFirstRow(const Eigen::MatrixBase<Derived1>& x, const Eigen::MatrixBase<Derived2>& y)
{
cout << x.row(0)+y.row(0) << endl;
}