Optimizers Supported
The table below contains a list of different optimzers that DESC is interfaced to. New optimizers can be added easily, see Adding new optimizers.
Name : Name of the optimizer method. Pass this string to desc.optimze.Optimizer to use the method.
Scalar : Whether the method assumes a scalar residual, or a vector of residuals for least squares.
Equality constraints : Whether the method handles equality constraints.
Inequality constraints : Whether the method handles inequality constraints.
Stochastic : Whether the method can handle noisy objectives.
Hessian : Whether the method requires calculation of the full hessian matrix.
GPU : Whether the method supports running on GPU
Description : Short description of the optimizer method.
Name |
Scalar |
Equality Constraints |
Inequality Constraints |
Stochastic |
Hessian |
GPU |
Description |
---|---|---|---|---|---|---|---|
|
True |
True |
True |
False |
True |
True |
Augmented Lagrangian trust region method for minimizing scalar valued multivariate function. See https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.fmin_auglag.html |
|
True |
True |
True |
False |
False |
True |
Augmented Lagrangian trust region method for minimizing scalar valued multivariate function. Uses BFGS to approximate Hessian. See https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.fmin_auglag.html |
|
False |
True |
True |
False |
False |
True |
Least squares augmented Lagrangian for constrained optimizationSee https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.lsq_auglag.html |
|
False |
False |
False |
False |
False |
True |
Trust region least squares, similar to the trf method in scipySee https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.lsqtr.html |
|
True |
False |
False |
False |
True |
True |
Trust region method for minimizing scalar valued multivariate function. See https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.fmintr.html |
|
True |
False |
False |
False |
False |
True |
Trust region method for minimizing scalar valued multivariate function. Uses BFGS to approximate the Hessian. See https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.fmintr.html |
|
True |
False |
False |
True |
False |
True |
Stochastic gradient descent with Nesterov momentumSee https://desc-docs.readthedocs.io/en/stable/_api/optimize/desc.optimize.sgd.html |
|
True |
False |
False |
False |
False |
False |
BFGS quasi-newton method with line search. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-bfgs.html |
|
True |
False |
False |
False |
False |
False |
Nonlinear conjugate gradient method. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cg.html |
|
True |
False |
False |
False |
True |
False |
Newton conjugate gradient method. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-newtoncg.html |
|
True |
False |
False |
False |
True |
False |
Trust region method with dogleg step. Hessian must be positive definite. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-dogleg.html |
|
True |
False |
False |
False |
True |
False |
Trust region method using ‘exact’ method to solve subproblem. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-trustexact.html |
|
True |
False |
False |
False |
True |
False |
Trust region method using conjugate gradient to solve subproblem. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-trustncg.html |
|
True |
False |
False |
False |
True |
False |
Trust region method using Krylov iterations to solve subproblem. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-trustkrylov.html |
|
False |
False |
False |
False |
False |
False |
Trust region least squares method. See https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html |
|
False |
False |
False |
False |
False |
False |
Levenberg-Marquardt implicit trust region method. See https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html |
|
False |
False |
False |
False |
False |
False |
Dogleg method with box shaped trust region. See https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html |
|
True |
True |
True |
False |
True |
False |
Trust region interior point method. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-trustconstr.html |
|
True |
True |
True |
False |
False |
False |
Sequential least squares programming method. See https://docs.scipy.org/doc/scipy/reference/optimize.minimize-slsqp.html |