zfit supplies wrappers for different minimizers from multiple libraries. Most of the are local minimizers (such as :class:`~zfit.minimize.Minuit`, :class:`~zfit.minimize.IpyoptV1` or :class:`~zfit.minimize.ScipyLBFGSBV1` are) while there are also a few global ones such as the :class:`~zfit.minimize.NLoptISRESV1` or :class:`~zfit.minimize.NLoptStoGOV1`. While the former are usually faster and preferred, they depend more on the initial values than the latter. Especially in higher dimensions, a global search of the parameters can increase the minimization time drastically and is often infeasible. It is also possible to couple the minimizers by first doing an approximate global minimization and then polish the minimum found with a local minimizer. All minimizers support similar arguments, most notably ``tol`` which denotes the termination value. This is reached if the value of the convergence criterion, which defaults to :class:`~zfit.minimize.EDM`, the same that is also used in :class:`~zfit.minimize.Minuit`. Other than that, there are a also a few minimizer specific arguments that differ from each minimizer. They all have the exact same minimization method :meth:`~zfit.minimize.BaseMinimizer.minimize` which takes a loss, parameters and (optionally) a :class:`~zfit.result.FitResult` from which it can take information to have a better start into the minimization. Minuit ====== .. autosummary:: :toctree: _generated/minimizers zfit.minimize.Minuit Ipyopt ====== .. autosummary:: :toctree: _generated/minimizers zfit.minimize.IpyoptV1 Scipy ===== .. autosummary:: :toctree: _generated/minimizers zfit.minimize.ScipyLBFGSBV1 zfit.minimize.ScipyTrustConstrV1 zfit.minimize.ScipyPowellV1 zfit.minimize.ScipySLSQPV1 zfit.minimize.ScipyTruncNCV1 NLopt ===== .. autosummary:: :toctree: _generated/minimizers zfit.minimize.NLoptLBFGSV1 zfit.minimize.NLoptTruncNewtonV1 zfit.minimize.NLoptSLSQPV1 zfit.minimize.NLoptMMAV1 zfit.minimize.NLoptCCSAQV1 zfit.minimize.NLoptSubplexV1 zfit.minimize.NLoptCOBYLAV1 zfit.minimize.NLoptMLSLV1 zfit.minimize.NLoptStoGOV1 zfit.minimize.NLoptBOBYQAV1 zfit.minimize.NLoptISRESV1 zfit.minimize.NLoptESCHV1 zfit.minimize.NLoptShiftVarV1 Tensorflow ====================== .. autosummary:: :toctree: _generated/minimizers zfit.minimize.Adam