Set the minimization method.

**Syntax: method**
<algorithm>
[<# of trials/evaluations> [<critical delta>] [method-specific
options]]

where <algorithm> is the method in use and
the other arguments are control values for the minimization. Their meanings are
explained under the individual methods. The **migrad** and **simplex**
methods are taken from the CERN Minuit2 package, with documentation located at
http://seal.web.cern.ch/seal/MathLibs/Minuit2/html/index.html.
If either of these are used, then the **error** command will use the Minuit2
minos method to find the confidence regions.

**method**** **leven
[<# of eval> [<crit delta>] [<crit beta>]] [delay | nodelay]

The default XSPEC minimization method using the modified Levenberg-Marquardt algorithm based on the CURFIT routine from Bevington. <# of eval> is the number of trial vectors before the user is prompted to say whether they want to continue fitting. <crit delta> is the convergence criterion, which is the (absolute, not fractional) difference in fit statistic between successive iterations, less than which the fit is determined to have converged.

<crit beta> refers to the |beta|/N value reported during a fit. This is the norm of the vector of derivatives of the statistic with respect to the parameters divided by the number of parameters. At the best fit this should be zero, and so provides another measure of how well the fit is converging. When this is set to a positive value, it will provide another fit stopping criterion in addition to that of the <crit delta> setting.

Including the string delay as an argument turns on delayed gratification. It is turned off by nodelay. Delayed gratification modifies the way the damping parameter is set and has been shown in many cases to speed up convergence. The default is nodelay.

<# of eval>, <crit delta>, <crit beta>, delay, and nodelay may also be
set through the **fit** command.

This method requires an estimate of
the second derivative of the statistic with respect to the parameters. By
default, XSPEC calculates these using an analytic expression which assumes that
partial 2^{nd} derivatives of the model with respect to its parameters
may be ignored. This may be changed by setting the
USE_NUMERICAL_DIFFERENTIATION flag to “true” in the user’s startup Xspec.init
initialization file. XSPEC will then calculate all second derivatives
numerically, which can be noticeably slower.

**method**** **migrad
[<# of eval>]

The Minuit2 migrad method. <# of eval> is the number of function evaluations to perform before giving up. Migrad uses an internal convergence criterion.

The current version of Minuit2 included is that from ROOT v5.34. Documentation on Minuit2 can be found at http://seal.web.cern.ch/seal/MathLibs/Minuit2/html/.

If migrad is not working well try experimenting with different hard and soft limits on parameters.

**method** simplex [<# of evaluations>]

The Minuit2 simplex method. <# of evaluations> is the number of function evaluations to perform before giving up. Simplex uses an internal convergence criterion. This method is included for historical interest and is almost always outperformed by migrad.