I solve the problem by using
for(int i=0; i<22; i++) (a[i])=MatrixXf::Zero(14000, 14000);
Is this way less efficient?
PS: can’t find the Eigen 3. Looking forward to its formal
[mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Benoit Jacob
Sent: Thursday, 1 July 2010 11:44 PM
Subject: Re: [eigen] Large matrix problem
Indeed, Eigen 2 uses 32bit indices (well, assuming that sizeof(int)==4) so you
just can't do that in Eigen2.
But Eigen3 uses indices the size of a pointer, which means that with Eigen3, on
a 64bit platform, you can have arbitrarily big matrices.
I encourage you to try Eigen3, i.e. the development branch in hg. It should
definitely fix your problem.
2010/7/1 Christoph Keller <Christoph-Keller@xxxxxx>
14000*14000*22 > 256^4, so it may be a problem with a 32 Bit value in a
loop. Maybe you should split the Matrix.