Skip to content

Latest commit

 

History

History
130 lines (82 loc) · 3.54 KB

fitting_option.rst

File metadata and controls

130 lines (82 loc) · 3.54 KB

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 external-instructions)
  • mantid (external software -- see external-instructions)
  • minuit (default software)
  • ralfit (external software -- see external-instructions)
  • 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_option 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 minimizers
  • ls - least-squares fitting algorithms
  • deriv_free - derivative free algorithms (these are algorithms that do not require an information about derivatives. For example, the Simplex method in Mantid does not require derivative information but lm-scipy-no-jac in scipy_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