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: <hamelin.philippe@xxxxxxx>
- Date: Thu, 23 Sep 2010 12:29:33 -0400
- Thread-index: ActbPD6nCToOAUs3QAm1vgzEYK4p9QAAEP6w
- Thread-topic: [eigen] Eigen3 dev branch - Problem inverting 6x6 identity matrix
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
>