Eigen's Matrix
template принимает только скалярный тип для первого параметра шаблона (в то время как документ намекает на возможность расширения поддерживаемых типов, не ясно, как):
Три обязательных параметра шаблона Matrix:
Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>
Скаляр - это скалярный тип, то есть тип коэффициентов. То есть, если вам нужна матрица с плавающей точкой, выберите здесь float. См. Скалярные типы для получения списка всех поддерживаемых скалярных типов и того, как расширить поддержку для новых типов.
Это означает, что невозможно определить матрицу векторов. Единственная возможность, которую я вижу, - это использование std::vector
объектов Eigen's Matrix
:
typedef Matrix<float,256,256> my_2dfmat;
std::vector<my_2dfmat> Matrix_A(3);
У этого есть некоторые недостатки, например, порядок индексации не интуитивен и т. Д.