0
私は、順列行列を返す関数を書いています。Eigenで順列行列を作成する
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
興味深いことにかの代わりのreturn p;
:内部では、ユースケースは、残念ながら、上記のコードは、静的アサーションに引っ掛かり
auto p = my_favourite_permutation();
cout << p.toDenseMatrix() << endl;
のようなものが含まれ、この
PermutationMatrix<Dynamic> my_favourite_permutation() {
Eigen::Matrix<uint, Dynamic, 1> x {4, 3, 1, 2, 0};
PermutationWrapper<Eigen::Matrix<uint, Dynamic, 1>> p
= PermutationWrapper<Eigen::Matrix<uint, Dynamic, 1>> (x);
return p;
}
のような何かをします私はreturn p.inverse();
それを行う