Does there exist an approach for calculating the determinant of matrices with low dimensions (about 4), that works well with SIMD (neon, SSE, SSE2)? I am using a hand-expansion formula, which does not work so well. I am using SSE all the way to SSE3 and neon, both under linux. The matrix elements are all floats.
相关问题
- SSE Comparison Intrinsics - How to get 1 or 0 from
- Perform a horizontal logical/bitwise AND operation
- Can't use jdk.incubator.vector classes in BigI
- ffmpeg for Android: neon build has text relocation
- Get SSE version without __asm on x64
相关文章
- parallelizing matrix multiplication through thread
- Select unique/deduplication in SSE/AVX
- SIMD/SSE: How to check that all vector elements ar
- Fastest way to compute distance squared
- Compact a hex number
- Coding on insufficient hardware
- SSE - AVX conversion from double to char
- Unpacking a bitfield (Inverse of movmskb)
Here's my 5 cents.
determinant of a 2x2 matrix:
that's an exercise for the reader, should be simple to implement
determinant of a 3x3 matrix:
use the scalar triple product. This will require smart
cross()
anddot()
implementations. The recipes for these are widely available.determinant of a 4x4 matrix:
Use one of the tricks in here. My code:
determinant of a 5x5+ matrix:
probably use the tricks above.