我正在针对 eigen 3.3.5 编译以下内容:
#include <Eigen/Dense>
#include <Eigen/Sparse>
#include <unsupported/Eigen/KroneckerProduct>
template <typename eT, int SIDE>
inline
auto
xLeft(const Eigen::Matrix<eT, SIDE, SIDE> & M)
{
Eigen::SparseMatrix<double> Id(SIDE, SIDE);
Id.setIdentity();
return kroneckerProduct(M.transpose(), Id);
}
void fail()
{
Eigen::Matrix<double,2,2> M = Eigen::Matrix<double,2,2>::Random();
std::cout << "die:" << xLeft(M) << "\n";
}
int main() { fail(); return 0; }
并且发生崩溃,其他人看到这个,这是一个 Eigen 错误还是我做错了什么,我只是看不到?
还:
g++ (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)