← Back to team overview

yade-dev team mailing list archive

EigenDecomposition wrapper problem

 

Hi, all!

I'm trying to create a wrapper for Eigen library. Almost all functions are
already done, but I have a problem with EigenDecomposition.
Unfortunately, I never used this functions and do not clearly understand
what it implements.

Eigen library has an EigenSolver for those tasks
http://eigen.tuxfamily.org/dox/classEigen_1_1EigenSolver.html

I tried to get all values from that solver and compare with results, what
Wm3 gives. It is completely different.

Here is the source matrix:

-26.8141 20.0536 -37.6382
-17.0536 -4.37217 13.4546
39.0891 8.34892 -21.6416


=======================
wm3:

tRot:
-0.698021 -0.0166317 -0.715884
0.339616 -0.887829 -0.310515
-0.630419 -0.459872 0.625372

tDiag:
-70.5641 0 0
0 2.97262 0
0 0 14.7635

=======================
Eigen:
eigenvalues:
(-26.91,42.69)
(-26.91,-42.69)
(1,0)

eigenvectors:
(-0.117,0.6961) (-0.117,-0.6961) (0.0598,0)
(-0.2973,-0.08855) (-0.2973,0.08855) (0.8986,0)
(0.6308,0.08732) (0.6308,-0.08732) (0.4346,0)

pseudoEigenvalueMatrix:
-26.91 42.69 0
-42.69 -26.91 0
0 0 1

pseudoEigenvectors:
-0.1654 0.9844 0.0598
-0.4204 -0.1252 0.8986
0.8921 0.1235 0.4346
=======================

Can anybody give an advice, how to solve it? Seems, values are completely
different.
Eigen is a fast library with SSE2/SSE3 optimization. It is maintained.

Even Blender is going to move to this library
http://wiki.blender.org/index.php/User:Moguri/BGE_Eigen2
Hope YADE will get a benefit to moving to this library.

Thanks!
______________________________

Anton Gladkyy

Follow ups