Comment dois-je initialiser le contenu d'une grande matrice dans Eigen?

Je suis en train d'initialiser une matrice (à l'aide de la Propre bibliothèque) pour avoir une valeur différente de zéro quand j'ai créer. Est-il un bon moyen de le faire sans une boucle for?

Par exemple, si je voulais initialiser l'ensemble de la matrice pour la 1.0, je voudrais faire quelque chose comme:

Eigen::MatrixXd mat(i,j) = 1.0;

ou

Eigen::MatrixXd mat(i,j);
mat += 1.0;

(Je suis habitué à ce genre de chose dans MATLAB, et il serait Eigen même plus agréable à utiliser qu'il ne l'est déjà. Je soupçonne qu'il ya une méthode intégrée quelque part qui fait cela, que je n'ai pas trouvé.)

Une sous-question à cette question serait de savoir comment définir un bloc de la matrice d'éléments d'un ensemble de valeur, quelque chose de ilke:

mat.block(i,j,k,l) = 1.0;

source d'informationauteur andyras