使用Eigen库,矩阵乘后赋值非常慢是什么原因。

问题遇到的现象和发生背景

使用Eigen库执行:矩阵乘后赋值非常慢是什么原因。

问题相关代码,请勿粘贴截图

#include
#include <Eigen/Core>
#include <Eigen/Dense>
#include
int main(int argc, char const *argv[])
{
Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic> mat(3000,3000);
mat.setZero();
std::chrono::high_resolution_clock::time_point t = std::chrono::high_resolution_clock::now();

mat = (mat * mat);

std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> time =t2 -t;
std::cout<<time.count()<<"  ms "<<std::endl;

return 0;

}

运行结果及报错内容

298201 ms

哪有乘完赋值给自己的?