Eigen中矩阵的最大大小是多少?

che*_*gpc 3 c++ eigen eigen3

在我的情况下(64位ubuntu和16GB内存,使用Eigen3),我写了MatrixXd m(M,M); 其中M = 100,000,在运行时程序崩溃,并报告:

what():std :: bad_alloc
Aborted(core dumped)

使用动态2 dim数组,程序运行正常.Eigen(密集)矩阵的大小是否存在硬限制?

Ree*_*sey 6

你试图分配100000*100000每个8字节的元素,或80,000,000,000字节(74.5GB),这是因为你只有16GB的内存失败.这会导致内存分配失败,因为它无法找到单个连续的大内存块.

有一个在本征没有固定的限制,但数组确实需要您的系统上分配.