Fitting Options¶
Options that control the benchmarking process are set here.
Software (software
)¶
Software is used to select the fitting software to benchmark, this should be a newline-separated list. Available options are:
bumps
(default software)dfo
(default software)gsl
(external software – see Installing External Software)mantid
(external software – see Installing External Software)minuit
(default software)ralfit
(external software – see Installing External Software)scipy
(default software)scipy_ls
(default software)
Default are bumps
, dfo
, minuit
, scipy
, and scipy_ls
[FITTING]
software: bumps
dfo
minuit
scipy
scipy_ls
Warning
Software must be listed to be here to be run. Any minimizers set in Minimizer Options will not be run if the software is not also present in this list.
Number of minimizer runs (num_runs
)¶
Sets the number of runs to average each fit over.
Default is 5
[FITTING]
num_runs: 5
Algorithm type (algorithm_type
)¶
This is used to select what type of algorithm is used within a specific software. The options are:
all
- all minimizersls
- least-squares fitting algorithmsderiv_free
- derivative free algorithms (these are algorithms that do not require an information about derivatives. For example, theSimplex
method inMantid
does not require derivative information butlm-scipy-no-jac
inscipy_ls
does but the derivative is handle internally within the software package)general
- minimizers which solve a generic min f(x)
Default is all
[FITTING]
algorithm_type: all
Warning
Choosing an option other than all
may deselect certain
minimizers set in the options file
Use errors (use_errors
)¶
This will switch between weighted and unweighted least squares.
If use_errors=True
, and no errors are supplied, then
e[i]
will be set to sqrt(abs(y[i]))
.
Errors below 1.0e-8
will be clipped to that value.
Default is True
(yes
/no
can also be used)
[FITTING]
use_errors: yes
Jacobian method (jac_method
)¶
This sets the Jacobian used. Current Jacobian methods are:
SciPyFD
- denotes the use of SciPy’s finite difference Jacobian approximations
Default is SciPyFD
[FITTING]
jac_method: SciPyFD
Numerical method (num_method
)¶
Sets the numerical method used in conjunction with the Jacobian method. Currently scipy.optimize._numdiff.approx_derivative are the only methods implemented to calculate finite difference Jacobians. Scipy options are given as below:
2point
- use the first order accuracy forward or backward difference.3point
- use central difference in interior points and the second order accuracy forward or backward difference near the boundary.cs
- use a complex-step finite difference scheme. This assumes that the user function is real-valued and can be analytically continued to the complex plane. Otherwise, produces bogus results.
Default is 2point
[FITTING]
num_method: 2point