Re: [eigen] Large matrix problem

[ Thread Index | Date Index | More Archives ]

2010/7/1 Jian Yang <Jian.Yang@xxxxxxxxxxx>

Thanks all.


I solve the problem by using


vector<MatrixXf> a(22);

for(int i=0; i<22; i++) (a[i])=MatrixXf::Zero(14000, 14000);


Is this way less efficient?

No, it won't make any difference, since your matrices are still 14000x14000 which is huge.


PS: can’t find the Eigen 3. Looking forward to its formal release.

The first beta will be released in a couple of days.

Eigen3 is what is referred to as the development branch. It's the default branch in hg.







From: Listengine [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.


Error! Filename not specified.

WEB.DE DSL ab 19,99 Euro/Monat. Bis zu 150,- Euro Startguthaben und    
50,- Euro Geldprämie inklusive!


Mail converted by MHonArc 2.6.19+