|Re: [eigen] Large matrix problem|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- 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
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=DqqA8NXa0B0KmgzgB6E64wDLM6axZso7TwGy4VmZbbI=; b=cQ/8LspPyCZr5jk7lAAYyMq3n5cIyMKw+bUJPZe12nGMr/iku9Fbza+TT8mlSk0Q5k Bm2fC69U3X3L5J0+qDjwg7OYbdzCblkT2BB/KwAc95xiR5mt6ekeOwqr3xROOOJdmOSu XCp0sUSIs7/Kin2BTEciqPDjNbjyICsVtt4Nc=
- 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 <Jian.Yang@xxxxxxxxxxx>
I solve the problem by using
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
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.
[mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Benoit Jacob
Sent: Thursday, 1 July 2010 11:44 PMSubject: 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.
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.