我的问题:是否有可能创建一个具有不同级别的特征张量向量?不同级别的特征张量向量
我的目标是能够创建一个向量,其中包含的对象的类型取值为Eigen::MatrixXd, Tensor3d, Tensor4d,..., Tensor10d
(定义如下)中的值。对象可以有不同的类型。
在此先感谢您的帮助!
#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();
};
也许:http://stackoverflow.com/questions/13461869/c-push-multiple-types-onto-vector,但这有点难看。 – Aziuth
@Aziuth谢谢,我会试一试,但仍然在寻找更优雅和透明的解决方案。 – Khue