SciPy optimizers

SciPy optimizers#

The gradient-based local optimizers and the global optimizers in SciPy are available to determine MTP parameters.

Local optimizers#

We can give the method name for scipy.optimize.minimize.

For CLI (motep.toml for motep train):

[[steps]]
method = "BFGS"
optimized = ["species_coeffs", "radial_coeffs", "moment_coeffs"]

For Python API:

from motep.trainer import Trainer

method = "BFGS"
optimized = ["species_coeffs", "radial_coeffs", "moment_coeffs"]
Trainer(..., steps=[{"method": method, "optimized": optimized}])

Methods like BGFS and Nelder-Mead can be specified. Optimizers with constraints such as L-BFGS-B are also available, but since the fixed parameters are handled on the MOTEP side, they are not particularly recommended.

Global optimizers#

SciPy global optimizers can be specified.