Re: [eigen] Large matrix problem
• To: eigen@xxxxxxxxxxxxxxxxxxx
• Subject: Re: [eigen] Large matrix problem
• From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
• Date: Thu, 1 Jul 2010 23:32:03 -0400
• Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=IcPhc2wKME+FaChgVepPhOBudmE7twEWmwbuVJwkS3imMotgo8654rOUuGND+D9BmB Bx0pufalLk6qi9F2xSFcXhKYmvkp0ucPJa7zf6wUTjoPQqj8QMstVSUc+yIr9prtsyq1 yK4K/Lte6tsz8f7Tll8TyswuRybvxgRyEN0HY=

2010/7/1 Jian Yang

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/