Ma question: Est-il possible de créer un vecteur de tenseurs Eigen avec différents rangs?Vecteur de tenseurs Eigen avec différents rangs
Mon but est de pouvoir créer un vecteur contenant des objets dont les types prennent des valeurs parmi Eigen::MatrixXd, Tensor3d, Tensor4d,..., Tensor10d
(défini ci-dessous). Les objets peuvent avoir différents types.
Merci d'avance pour votre aide!
#include <iostream>
#include <vector>
#include <Eigen/Dense>
#include <unsupported/Eigen/CXX11/Tensor>
typedef Eigen::Tensor< double , 3 > Tensor3d;
typedef Eigen::Tensor< double , 4 > Tensor4d;
typedef Eigen::Tensor< double , 5 > Tensor5d;
typedef Eigen::Tensor< double , 6 > Tensor6d;
typedef Eigen::Tensor< double , 7 > Tensor7d;
typedef Eigen::Tensor< double , 8 > Tensor8d;
typedef Eigen::Tensor< double , 9 > Tensor9d;
typedef Eigen::Tensor< double , 10 > Tensor10d;
class MyClass
{
private:
std::vector<TensorXd> Tensors;
public:
MyClass();
};
Peut-être que: http://stackoverflow.com/questions/13461869/c-push-multiple-types-onto-vector, mais c'est un peu moche. – Aziuth
@Aziuth Merci, je vais essayer mais je cherche toujours une solution plus élégante et plus transparente. – Khue