OptimizerMixin

class pyhf.optimize.mixins.OptimizerMixin(**kwargs)[source]

Bases: object

Mixin Class to build optimizers.

Attributes

maxiter
verbose

Methods

__init__(**kwargs)[source]

Create an optimizer.

Parameters
  • maxiter (int) – maximum number of iterations. Default is 100000.

  • verbose (int) – verbose output level during minimization. Default is off (0).

minimize(objective, data, pdf, init_pars, par_bounds, fixed_vals=None, return_fitted_val=False, return_result_obj=False, do_grad=None, do_stitch=False, **kwargs)[source]

Find parameters that minimize the objective.

Parameters
  • objective (func) – objective function

  • data (list) – observed data

  • pdf (Model) – The statistical model adhering to the schema model.json

  • init_pars (list) – initial parameters

  • par_bounds (list) – parameter boundaries

  • fixed_vals (list) – fixed parameter values

  • return_fitted_val (bool) – return bestfit value of the objective

  • return_result_obj (bool) – return scipy.optimize.OptimizeResult

  • do_grad (bool) – enable autodifferentiation mode. Default depends on backend (pyhf.tensorlib.default_do_grad).

  • do_stitch (bool) – enable splicing/stitching fixed parameter.

  • kwargs – other options to pass through to underlying minimizer

Returns

  • parameters (tensor): fitted parameters

  • minimum (float): if return_fitted_val flagged, return minimized objective value

  • result (scipy.optimize.OptimizeResult): if return_result_obj flagged

Return type

Fitted parameters or tuple of results