[eigen] 4x4 matrix inverse

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

Long ago I thought it would be a good idea to optimize 4x4 matrix
inverse using "Euler's trick" which reduced greatly the number of
operations but relies on some 2x2 block inside the matrix being
invertible.

The problem is that this gives bad precision, and the best compromise
that I could find between precision and performance is still:
 - 10x more imprecise in the worst case
 - only 25% faster.

My last reason to clinge to this approach is that it was supposedly
more vectorizable, but reading this,
ftp://download.intel.com/design/PentiumIII/sml/24504301.pdf
I realized that Intel engineers actually figured how to vectorize the
plain old cofactors approach very efficiently.

So I'll switch to cofactors in both branches, I think. I'll also
implement SSE at least in the default branch.

Question: do you think that Intel's code is provided free of use? Or
should I avoid looking at it? Even if I can't look at it, they still
provide good explanations.

Benoit



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/