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:27:02 +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=dJosEvUfbqtnvIATqFHWIPdKzknaFJUBM9v7OBZmHOo=; b=Q5vvI3GH/Srh5X/sdgZFd4bQkuypWWns6HP3EZYLgbMX3n/ZyWGcz3PamxXgqkQyhb YN+O9nzaRPoPKFnzAEblbXP7lWkTxRN3/JDlfMhxrSqXwnhKXLv4jAqRBsknYz1ec/ht EHmX5bgaPCtjWrcVWv2tp171Y7n+doPKfKXkY=
- 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=TfnQwP246r1iezPGMW3vk7SjZekslfy3pdp35ZQ7CPpiL1K8oDamA5/AzLPtgdm2IZ t/7jhIsKIPwRYtvqsSv7juZi+8MT4r6viJe0TjU6LlhLPqmo0bxxDUXzbh4jO0mlpB2K AlhAK0H8qWtvZ/GeWBJUPYyhYB0j/pkRXl7FM=
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
>