Reliability trade-offs are clearly documented and extremely safe decompositions are available.
Algorithms are carefully selected for reliability.For large matrices, special attention is paid to cache-friendliness.Fixed-size matrices are fully optimized: dynamic memory allocation is avoided, and the loops are unrolled when that makes sense.Explicit vectorization is performed for SSE 2/3/4, AVX, AVX2, FMA, AVX512, ARM NEON (32-bit and 64-bit), PowerPC AltiVec/VSX (32-bit and 64-bit), ZVector (s390x/zEC13) SIMD instruction sets, and since 3.4 MIPS MSA with graceful fallback to non-vectorized code.Expression templates allow intelligently removing temporaries and enable lazy evaluation, when that is appropriate.Its ecosystem of unsupported modules provides many specialized features such as non-linear optimization, matrix functions, a polynomial solver, FFT, and much more.It supports various matrix decompositions and geometry features.It supports all standard numeric types, including std::complex, integers, and is easily extensible to custom numeric types.It supports all matrix sizes, from small fixed-size matrices to arbitrarily large dense matrices, and even sparse matrices.