|Re: [eigen] Optimization advice for a specific expression|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
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
> 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;