Я хочу умножить каждый элемент двумерного массива на трехэлементный собственный вектор строк, эффективно взяв скалярное произведение.
Код: Выделить всё
Eigen::Array velField(5, 5);
Eigen::Vector3d n;
// ... initialisation of n and velField not shown
Eigen::Array result(5, 5);
result = n.transpose() * velField;
Код: Выделить всё
n.transpose() * velField;
РЕДАКТИРОВАТЬ
Ту же проблему можно наблюдать и в этом более простом случае (умножение на двойное):
Код: Выделить всё
Eigen::Array velField(5, 5);
// ... initialisation of velField not shown
Eigen::Array result(5, 5);
result = 3.0 * velField;
Код: Выделить всё
Eigen::Array velField(5, 5);
// ... initialisation of velField not shown
Eigen::Array result(5, 5);
result = 3.0 * velField;
Подробнее здесь: https://stackoverflow.com/questions/225 ... of-vectors
Мобильная версия