У меня проблемы с созданием продукта с динамическими матрицами и векторными точками, и, что удивительно, я не нашел решения, поскольку Eigen
- распространенная библиотека.
Итак, код действительно прост:
int k = 3;
MatrixXd m;
m.resize(k, k);
ArrayXd a;
a.resize(k);
std::cout << "Dot product: " << m*a << std::endl;
Я получил ошибку
недопустимые операнды для двоичного выражения (MatrixXd (Matrix) и ArrayXd (Array)) std ::cout << "Dot product:" << m * a << std :: endl; </p>
Я запутался, если выполнимо умножение динамических матриц и векторов.Между тем я обнаружил, что существует метод .dot()
для векторов и матриц, поэтому какой из них использовать, *
или .dot()
для точечного произведения?