Re: [eigen] Optimization advice for a specific expression

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


Hi Christoph,

Christoph Hertzberg writes:

> You could also try
>   I4x4.triangularView<Eigen::Upper>() += ...;
> and copy the upper half to the lower afterwards (if needed). This
> however likely reduces vectorization possibilities (try it out, look
> at the generated assembly).

Yes, it performs worse, maybe because the vectorization idea that you
are pointing.

> 
> Other than that: * What exactly do you mean by homogeneous? 

G = [ v3x3 | 0]
    [  0ᵀ  | 1]

where "v3x3" is a 3x3 matrix, and "0" a vector of 3 zero-valued elements.

> Can you make any assumptions on the determinant of G? (Calculating the
> det didn't not seem to be the bottleneck, though)

No, I cannot, but as you point, removing the determinant computation for
testing purposes does not yield any improvement.

> * Is the same E used for lots of G?

Yes, it is a matrix of constant coefficients.

> Does it have any special form (e.g. low rank, or Identity+lowRank)

It is just symmetric:

Eplus << 2 , 1 , 1 , 5,
         1 , 2 , 1 , 5,
         1 , 1 , 2 , 5,
         5 , 5 , 5 , 20;



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