Re: [eigen] Eigen3 dev branch - Problem inverting 6x6 identity matrix |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Eigen3 dev branch - Problem inverting 6x6 identity matrix
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Thu, 23 Sep 2010 18:51:53 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=hF97e1esigzh7fuEhXKf6aDiakxegJ8oWXYBFUL/HK4=; b=krzKV6Jt+287hNfckYSzRtCToM1owyDWY/QRHQv9FcE8gNQSpOUm6xrSe3lKcGsrIq XYbwmQ6kNwny8mSIGq6V/gm+TuH9X3WuUreeIIv/+B3RLRTZ4AVpOyU37QW6odnwWYO/ m0fDpsqSo2sYem7hAufkFVdTjBYYJH7dFuBfo=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=FSNswNK3W2qo1UbyWnNg/Y2/V0B1+YU9VPOduHiofkwRkQ7qM3qlZAHAs5OnWVhjP+ 19O+Zg41qeNRSpN2fBYFaup3zL7nVxmFnnKg3kDXFKbuzusA184+3KH4RAsxt0sw59V9 2gHa6XSvUoShuDF1+uK/4+n/Z/T+DNzdUQ3Ps=
yes, I've also tried gcc 4.41, no problem. If I remember correctly,
this is not the first time we have an issue with Ubuntu's GCC that we
cannot reproduce. Can you try my little example ? Could you also
precise your compilation flags and your platform (32 or 64 bits) ?
gael
On Thu, Sep 23, 2010 at 6:29 PM, <hamelin.philippe@xxxxxxx> wrote:
> Sorry I missed the last line of your message. So you tried many versions of GCC. It's strange...
>
> -----Message d'origine-----
> De : Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] De la part de Gael Guennebaud
> Envoyé : 23 septembre 2010 12:27
> À : eigen@xxxxxxxxxxxxxxxxxxx
> Objet : Re: [eigen] Eigen3 dev branch - Problem inverting 6x6 identity matrix
>
> sorry but I cannot reproduce, here is my test program:
>
> #include <iostream>
> #include <Eigen/LU>
> using namespace Eigen;
>
> int main()
> {
> typedef Matrix<double,6,6> Matrix6d;
> std::cout << Matrix6d::Identity().inverse() << "\n";
>
> return 0;
> }
>
> I tried gcc 4.3, 4.5, 32 and 64 bits......
>
>
> gael
>
> On Tue, Sep 21, 2010 at 8:55 PM, <hamelin.philippe@xxxxxxx> wrote:
>> Hi,
>>
>> After debugging the code, I may add some more information. This is
>> effectively an infinite loop in function:
>>
>> template <typename Scalar, typename Index, int Mode, bool Conjugate, int
>> TriStorageOrder>
>> struct
>> ei_triangular_solve_matrix<Scalar,Index,OnTheLeft,Mode,Conjugate,TriStorageOrder,ColMajor>
>> More specifically, in this loop:
>>
>> for(Index i2=start; i2<end; i2+=mc)
>> {
>> const Index actual_mc = std::min(mc,end-i2);
>> if (actual_mc>0)
>> {
>> pack_lhs(blockA, &tri(i2, IsLower ? k2 : k2-kc), triStride,
>> actual_kc, actual_mc);
>>
>> gebp_kernel(_other+i2, otherStride, blockA, blockB, actual_mc,
>> actual_kc, cols, Scalar(-1));
>> }
>> }
>> The value of "mc" is zero, so the for loop never ends.
>>
>> Philippe
>> ________________________________
>> De : Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] De la part de
>> hamelin.philippe@xxxxxxx
>> Envoyé : 21 septembre 2010 14:37
>> À : eigen@xxxxxxxxxxxxxxxxxxx
>> Objet : [eigen] Eigen3 dev branch - Problem inverting 6x6 identity matrix
>>
>> Hi,
>> I'm getting problem inverting an identity matrix with Eigen3, let say :
>>
>> Matrix6d::Identity().inverse()
>>
>> With the beta1 version, it produces an "Arithmetic Exception". With the
>> trunk, it's mostly an infinite loop (at least I cancelled it after about 30
>> seconds). Does anybody can reproduce that problem? I'm on Ubuntu with GCC
>> 4.4.3.
>>
>> Thank you,
>>
>> ------------------------------------
>> Philippe Hamelin, ing. jr, M. Ing
>> Chercheur / Researcher
>>
>> T: 450-652-8499 x2198
>> F: 450-652-1316
>>
>> Expertise robotique et civil
>> Institut de recherche d'Hydro-Québec (IREQ)
>> 1740, boul. Lionel-Boulet
>> Varennes (QC) J3X 1S1, Canada
>>
>
>
>
>
>