C++ pow() Eigen matrix

Résolu
cppcdb Messages postés 29 Date d'inscription mardi 18 septembre 2018 Statut Membre Dernière intervention 6 décembre 2018 - 5 oct. 2018 à 16:24
cptpingu Messages postés 3838 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 17 juin 2024 - 6 oct. 2018 à 00:45
Bonjour,

Je cherche à calculer la puissance d'une matrice diagonale en utilisant la fonction pow().
Malgré que mon code est très simple, j'arrive pas à préciser le soucis !

 
#include <iostream>
#include <cmath>
#include "EigenResources\Eigenvalues" 
MatrixXd A (4,4);
  A << 4, 0, 0, 0,
           0, 9, 0, 0,
           0, 0, 16, 0,
           0, 0, 0, 32;
cout << A.pow(0.37) << endl;



voilà l'erreur que j'ai eu :
error: invalid use of incomplete type 'const class Eigen::MatrixPowerReturnValue<Eigen::Matrix<double, -1, -1> >'|

merci d'avance :)

1 réponse

cptpingu Messages postés 3838 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 17 juin 2024 124
6 oct. 2018 à 00:45
Bonjour.

D'après la doc (https://eigen.tuxfamily.org/dox/unsupported/group__MatrixFunctions__Module.html#matrixbase_pow), il faut soit ajouter un:
#define EIGEN_NO_DEBUG
, soit plutôt passer par un Eigen::MatrixPower (il y a un exemple dans la documentation).
1
Rejoignez-nous