因此,当我尝试声明大于 10000x10000 的矩阵时,我发现Eigen包崩溃。我需要声明一个这样的矩阵.. 大约 13000x13000 个元素可靠。我进行了如下测试:
for( int tortureEigen = 1 ; tortureEigen < 50000 ; tortureEigen++ )
{
printf( "Torturing Eigen with %dx%d..\n", tortureEigen, tortureEigen ) ;
Eigen::MatrixXd m( tortureEigen, tortureEigen ) ;
}
我的机器(6 GB RAM)在 14008 个元素处崩溃。
我有点失望!我认为 Eigen 就像 MATLAB 或 octave 并且不应该使用更大的数组崩溃,即使它确实撞到了磁盘或其他东西..
更重要的是,当我运行这个测试并保持 TaskMan 处于打开状态时,创建这些矩阵的进程甚至不会使用那么多内存。TaskMan 报告低于 2k 的使用量。
使用 Eigen 2.0.15 稳定版