from _api_doc_utils import *Optimizers
Static optimization routines for Python callbacks
1 Where it fits
Group: Estimation interfaces
Optimizers is a small namespace for callback-driven numerical optimization. It is not an estimator; it exposes reusable routines for smooth objectives, nonlinear least squares, and a simple stochastic global search.
2 Python API
Constructor: cm.Optimizers
The methods are static and return plain dictionaries with scipy-like keys: x, fun, nit, success, message, and method. Smooth minimizers require objective and gradient callbacks; Gauss-Newton requires residual and Jacobian callbacks; simulated annealing only requires the objective.
print(inspect.signature(cm.Optimizers))()
cls = cm.Optimizers
display(HTML(html_table(["Public method"], public_methods(cls))))| Public method |
|---|
minimize_bfgs(fun, x0, grad, max_iterations=100, tolerance=1e-06) |
minimize_gauss_newton_ls(residual_fn, x0, jacobian_fn, max_iterations=100, tolerance=1e-06) |
minimize_lbfgs(fun, x0, grad, max_iterations=100, tolerance=1e-06) |
minimize_nonlinear_cg(fun, x0, grad, max_iterations=100, restart_iters=10, restart_orthogonality=0.1, tolerance=1e-06) |
minimize_simulated_annealing(fun, x0, lower=None, upper=None, temp=15.0, step_size=0.1, max_iterations=5000, seed=None) |
3 Minimal example
def fun(theta):
return float(np.sum((theta - np.array([1.0, -2.0]))**2))
def grad(theta):
return 2.0 * (theta - np.array([1.0, -2.0]))
res = cm.Optimizers.minimize_bfgs(fun, np.zeros(2), grad, max_iterations=100)
print(res){'x': array([ 1., -2.]), 'fun': 0.0, 'nit': 1, 'success': True, 'message': 'Solver converged', 'method': 'bfgs'}
4 summary() contract
The table below is generated by fitting the live class in this repository and then inspecting summary(). Shapes are shown because most values are plain NumPy arrays or scalars.
class _Dummy:
def summary(self):
return {'note':'Optimizers has static methods, not fitted state'}
model=_Dummy()
summary = model.summary()
display(HTML(html_table(["summary() key", "shape"], summary_shape_rows(summary))))| summary() key | shape |
|---|---|
note |
() |