Open
@jacobwilliams

Description

I'm willing to spearhead a module or set of modules containing:

  • general constrained and unconstrained nonlinear optimization (sqp, global optimization, etc.)
  • nonlinear equation solving (newton, least squares, etc.)
  • scalar minimizers and root solvers (fmin, zeroin, etc.)

I have already modernized some classic codes and there are also some others with permissive licenses floating around. I am willing to merge mine into the stdlib. I need to gather then together and provide a nice interface so that a user can call any of the solvers in a similar way. We can have discussion on what that interface would look like. Here are some example codes:

  • slsqp (SQP)
  • pikaia (genetic algorithm)
  • Brent codes zeroin and fmin
  • Minpack
  • Other derivative-free bracketed root solvers such as bisection, Anderson-Bjorck, Muller, Pegasus, ...
  • Basic Newton and/or Broyden solvers
  • FilterSD

Eventually we could even provide (optional) integrations with larger third-party and/or commercial libraries such as IPOPT and/or SNOPT

See also

Note that some of these in various Python packages are just wrappers to Fortran 77 codes (such as slsqp).