Re: [eigen] Large matrix problem

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen 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.

Benoit
 

 

Cheers,

 

Jian

 

From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Benoit Jacob
Sent: Thursday, 1 July 2010 11:44 PM

Subject: Re: [eigen] Large matrix problem

 

Hi,

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.

Benoit

2010/7/1 Christoph Keller <Christoph-Keller@xxxxxx>

Hi,

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.

Greetings,
Christoph   

Error! Filename not specified.

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

 




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/