QuoteOriginally posted by: CuchulainnQuestion: Boost Math Toolkit supports nonlinear solvers. Shall we use them in code in the higher layers?I assume Cuch means Tools, Constants and Internal Details.I actually like the design of the root-finding algos in there (note: those are all univariate, just as minimization is, so they won't cover the multivariate cases) and see no reason not to -- a caveat is that those have a status of _internal_ implementation (so, AFAIR, Boost community makes no promises on keeping the interfaces stable or even keeping the libs in the future at all), but it is BSL licensed (duh) so we can always adopt it in case it was ever abandoned.I'd also like to point out the existence of dlib C++ library (which is also licensed under the Boost Software License):
http://dlib.net/.Of interest are:- Optimization (multivariate, including BFGS and Levenberg-Marquardt -- might be very handy for calibration),- Algorithms (e.g., running_stats -- if we need incremental-stats, Boost.Accumulators also come to mind),- there are also API Wrappers (of note if we ever need BSL-licensed cross-platform (Windows & POSIX) GUI layer). I think it's very well documented, e.g., see:MatrixMatrix ExpressionsNon-Linear Least Squares (this shows how to use Levenberg-Marquardt)