A small nonlinear equation system (sizes around 12 ✕ 12) needs to be solved repeatedly (millions of times); each time with some variation in parameters/coefficients (although the equation set is always the same).
Most solvers are not very optimized for small systems like this, only achieving higher "GFlops" when using larger matrices (e.g., 512 ✕ 512).
Currently it is being used an implementation based on MINPACK (Powell's hybrid method with Broyden's Jacobian update), without using BLAS (because even BLAS implementations seem slower for small matrices).
Is there a solver implementation (such as the ones found in Intel MKL, PETSc or Ceres) that is optimized for this kind of problem?
unsupported/Eigen/NonLinearOptimization
), and it turns out that, surprisingly, CMINPACK is still the faster implementation (but the performance results are very similar). $\endgroup$ – e.tadeu May 26 '14 at 14:02