Re: [eigen] 3x3 symmetric eigenvalues Problem

[ Thread Index | Date Index | More Archives ]

I got it: it is the default value for significantSquaredNorm2 that is
too high for that case.
The matrix is normalized therefore, the matrix that is actually investigated is:
diag( 1, 5e-4, 0 )
Now the squared norm of the cross product between col(0) and col(1) is
lower than Eigen::NumTraits<typename
Matrix::Scalar>::dummy_precision() hence the matrix is considered as
equivalent to diag(1,0,0) and the result is correct from that point of
If you change the default value for significantNorm2 to
it is ok.
There is another problem now for almost isotropic matrices:
the precision_for_isotropic_case set to dummy_precision is too large
for those matrices (I did not realize that before, hmppffff)
If I change the line
if( Q < Scalar(0) ) to if( Q <= Scalar(0) )
in the code computing the roots of the polynomial
everything is ok for those matrices
however I think a better criterion is needed here but I have to make
some calculations and tests which will wait until this week-end.

- best regards,


Mail converted by MHonArc 2.6.19+