Я пытаюсь инициализировать матрицу (используя библиотеку Eigen), чтобы иметь ненулевое значение, когда я ее создаю. Есть ли хороший способ сделать это без цикла for?
Например, если бы я хотел инициализировать всю матрицу до 1.0, я хотел бы сделать что-то вроде:
Eigen::MatrixXd mat(i,j) = 1.0;
или
Eigen::MatrixXd mat(i,j);
mat += 1.0;
(Я привык к этому типу вещей в MATLAB, и это сделало Eigen более приятным в использовании, чем это уже есть. Я подозреваю, что есть встроенный метод где-то, который делает это, чего я не нашел.)
Подзапросом к этому вопросу будет вопрос о том, как установить блок матричных элементов в заданное значение, что-то ilke:
mat.block(i,j,k,l) = 1.0;