So, I found that the Eigen package crashes when I try to declare a matrix larger than 10000x10000. I need to declare a matrix like this .. over 13000x13000 elements reliably. I checked a test like:
for( int tortureEigen = 1 ; tortureEigen < 50000 ; tortureEigen++ )
{
printf( "Torturing Eigen with %dx%d..\n", tortureEigen, tortureEigen ) ;
Eigen::MatrixXd m( tortureEigen, tortureEigen ) ;
}
Failure on my machine (6 GB RAM) on 14008 elements.
I'm a little disappointed! I thought that Eigen was like MATLAB or an octave and should not be split using large arrays, even if it gets to disk or something like that.
And what else, when I run this test and keep TaskMan open, the process that creates these matrices doesn't even use that much memory. TaskMan reports on the use of 2k.
Using Eigen 2.0.15 stable release