Reading the discussions under a previous thread titled "More Descent, Less Gradient"( <a href="https://news.ycombinator.com/item?id=23004026" rel="nofollow">https://news.ycombinator.com/item?id=23004026</a> ), I guess people might be interested in PRIMA ( www.libprima.net ), which provides the reference implementation for Powell's renowned gradient/derivative-free (zeroth-order) optimization methods, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.<p>PRIMA solves general nonlinear optimizaton problems without using derivatives. It implements Powell's solvers in modern Fortran, compling with the Fortran 2008 standard. The implementation is faithful, in the sense of being mathmatically equivalent to Powell's Fortran 77 implementation, but with a better numerical performance. In contrast to the 7939 lines of Fortran 77 code with 244 GOTOs, the new implementation is structured and modularized.<p>There is a discussion to include the PRIMA solvers into SciPy ( <a href="https://github.com/scipy/scipy/issues/18118">https://github.com/scipy/scipy/issues/18118</a> ), replacing the buggy and unmaintained Fortran 77 version of COBYLA, and making the other four solvers available to all SciPy users.