I’m making use of an ARM Cortex-A8 based processor and I have several places where I calculate 3×3 Matrix inverse operations.
As the Cortex-a8 processor has a NEON SIMD processor I’m interested to use this co-processor for 3×3 matrix inverse, I saw several 4×4 implementations (Intel SSE and freevec) but no where did I see a 3×3 matrix inverse operation carried out using SIMD instructions. The method used by freevec is by splitting the 4×4 matrix into 4, 2×2 matrices, then carry out tiny operations on each and recombine the results in the end to get the inverse of 4×4 matrix. I don’t see such an opportunity with 3×3 matrices.
Anyone out there has an idea how to carry out 3×3 matrix inversion using SIMD instructions, it will be very helpful to me?
Regards
Vikram
You can expand the 3×3 matrix to 4×4 matrix by adding a 4th row and 4th column, both being (0 0 0 1). After inversion, the upper-left 3×3 submatrix will have the required inverse.