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: Tue, 21 Sep 2010 14:55:26 -0400
- Thread-index: ActZvAI+FpMe6PLkS0GVBHWzpvDL3wAAjByQ
- Thread-topic: [eigen] Eigen3 dev branch - Problem inverting 6x6 identity matrix
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
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