Skip to content
Snippets Groups Projects
Commit e5bd4fcc authored by Martyn Gigg's avatar Martyn Gigg Committed by GitHub
Browse files

Merge pull request #17960 from mantidproject/15014_fitminimizer_doc

Basic documents of fitting function minimizers
parents cc58bbac d30e2fbb
No related branches found
No related tags found
No related merge requests found
.. _FittingMinimizers:
.. _FittingMinimizers:
Comparing Minimizers
====================
......@@ -25,18 +25,16 @@ Several minimizers are included with Mantid and can be selected in the
or when using the algorithm :ref:`Fit <algm-Fit>` The following
options are available:
- `Simplex <https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method>`__
- `SteepestDescent <https://en.wikipedia.org/wiki/Gradient_descent>`__
- `Conjugate gradient (Fletcher-Reeves imp.) <https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method>`__
- `Conjugate gradient (Polak-Ribiere imp.) <https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method>`__
- `BFGS (Broyden-Fletcher-Goldfarb-Shanno) <https://en.wikipedia.org/wiki/Broyden–Fletcher–Goldfarb–Shanno_algorithm>`__
- `Levenberg-Marquardt <https://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm>`__ (default)
- `Simplex <../fitminimizers/Simplex.html>`__
- `SteepestDescent <../fitminimizers/GradientDescent.html>`__
- `Conjugate gradient (Fletcher-Reeves imp.) <../fitminimizers/FletcherReeves.html>`__
- `Conjugate gradient (Polak-Ribiere imp.) <../fitminimizers/PolakRibiere.html>`__
- `BFGS (Broyden-Fletcher-Goldfarb-Shanno) <../fitminimizers/BFGS.html>`__
- `Levenberg-Marquardt <../fitminimizers/LevenbergMarquardt.html>`__ (default)
- Levenberg-MarquardtMD
A `Levenberg-Marquardt <https://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm>`__ implementation generalised to allow different cost functions, and supporting chunking techniques for large datasets.
- Damping
A `Gauss-Newton <https://en.wikipedia.org/wiki/Gauss–Newton_algorithm#Improved_versions>`__ algorithm with damping.
- `Gauss-Newton <../fitminimizers/GaussNewton.html>`__ algorithm with damping.
- :ref:`FABADA <FABADA>`
- `Trust region
<https://ccpforge.cse.rl.ac.uk/gf/project/ral_nlls>`__: a `trust
......
.. _BFGS
BFGS (Broyden-Fletcher-Goldfarb-Shanno) minimizer
=================================================
This minimizer is
explained at `Wikipedia <https://en.wikipedia.org/wiki/Broyden–Fletcher–Goldfarb–Shanno_algorithm>`__
It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. _FletcherReeves
Conjugate Gradient Minimizer (Fletcher-Reeves imp.)
===================================================
This minimizer an implementation of the nonlinear conjugate gradient method
explained at `Wikipedia <https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method>`__
It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. _GaussNewton
Damping Gauss-Newton minimizer
==============================
This minimizer is
explained at `Wikipedia <https://en.wikipedia.org/wiki/Gauss–Newton_algorithm#Improved_versions>`__
and has damping.
It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. _GradientDescent
Steepest Descent Minimizer
==========================
This minimizer is explained at - `Wikipedia <https://en.wikipedia.org/wiki/Gradient_descent>`__ as the gradient descent method.
It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. _LevenbergMarquardt
Levenberg-Marquardt Minimizer
=============================
This minimizer is explained at - `Wikipedia <https://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm>`__
It is the default minimizer and is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. _PolakRiberiere
Conjugate Gradient Minimizer (Polak-Ribiere imp.)
=================================================
This minimizer an implementation of the nonlinear conjugate gradient method
explained at `Wikipedia <https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method>`__ .
It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. _Simplex
Simplex Minimizer
=================
This minimizer is explained at - `Wikipedia <https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method>`__ as the Nelder-Mead method.
It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
It makes use of the
`GSL (GNU Scientific Library) library
<https://www.gnu.org/software/gsl/>`__, specifically the
`GSL routines for least-squares fitting
<https://www.gnu.org/software/gsl/manual/html_node/Least_002dSquares-Fitting.html#Least_002dSquares-Fitting>`__.
.. categories:: FitMinimizers
.. Fitting Minimizers master file
It contains a hidden root toctree directive so that Sphinx
has an internal index of all of the pages and doesn't
produce a plethora of warnings about most documents not being in
a toctree.
See http://sphinx-doc.org/tutorial.html#defining-document-structure
.. _fitminimizers contents:
==================
Fitting Minimizers
==================
.. toctree::
:glob:
:maxdepth: 1
*
......@@ -25,6 +25,7 @@ Mantid Documentation
concepts/index
interfaces/index
fitfunctions/*
fitminimizers/index
api/index
release/index
......@@ -42,6 +43,7 @@ This is the documentation for Mantid |release|.
* `Concepts <concepts/index.html>`_
* `Interfaces <interfaces/index.html>`_
* `Fit Functions <fitfunctions/index.html>`_
* `Fit Minimizers <fitminimizers/index.html>`_
* `API <api/index.html>`_
- `Python <api/python/index.html>`_
- `C++ <http://doxygen.mantidproject.org/>`_ (Doxygen)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment