Для 1D изменения размеров, документация Eigen предлагает использовать следующий метод для изменения размера массива:
using Eigen;
MatrixXf X(2,2) << 1,2,3,4;
Map<RowVectorXf> v1(X.data(), X.size());
За исключением того, что у меня есть шаблонный вектор, и я не могу использовать RowVectorXf
using Eigen;
template<class num>
void my_func(){
Matrix<num,Dynamic,Dynamic> X(2,2) << 1,2,3,4;
Map<Matrix<num,Dynamic,Dynamic>> unraveled(X.data(),X.size());
}
Приведенный выше пример завершается ошибкой со следующим сообщением:
ошибка: статическое утверждение не выполнено: YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX
Как получить плоский вид собственной матрицы в шаблонной функции?