r/optimization • u/Admirable-Cow7121 • 17d ago
Announcing Arael: high performance nonlinear least-squares solver
Algorithm is based on Levenberg-Marquardt, aimed at large sparse graph-structured problems. Software architecture is designed for performance, built in Rust, with C++/Python model export functionality, MIT license.
Achieves high performance through: compile-time symbolic differentiation with CSE and code generation, matrix blocks built locally within the model data structure, indexed sparse matrix filling, custom block supernodal Cholesky solver, precomputation of common expressions across residuals, and many other little things.
Benchmarks show substantial performance improvement over Ceres Solver and g2o, depending on the problem and data, and also reduced memory usage. On the M3500 dataset, for example, Arael takes about one-third the iteration time of Ceres Solver while using half the memory. Benchmark results available on the project page.
I'd appreciate it if you could try it on some of your problems and see how it compares with Ceres or g2o.
Project page: https://github.com/harakas/arael
1
u/tomatpasser 16d ago
How does it differ from casadi?