It is often required skew symmetric adapter for Vector3.
The main reason:
1. Use math notation, without loose of performance of skew matrix (for elements that don't require calculations).
2. Use knowledge about matrix structure to speedup calculations
a) don't calculate zero elements.
b) use knowledge about difference of elements only by signs, that can improve performance.
It can be implemented is similar way that "asDiagonal" do.
Interesting feature. This would also simplify/optimize writing things like
for(int i=0; i<n; ++i) res.col(i) = a.cross(b.col(i));
For two vectors a.cross(b) should generate the same code as a.skew()*b;
And it might be worth considering to implement a.skew().exp() (i.e., calculating the matrix exponential of a skew-symmetric matrix -- which is much easier than the general case)
Not sure about the name. Maybe .asSkew() or .asSkewSymmetric()?
And do we want the inverse as well? (Getting a 3x1 vector from a 3x3 matrix)
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1474.