diff --git a/doc/README.md b/doc/README.md index 91eb8d0b9..2d9926e48 100644 --- a/doc/README.md +++ b/doc/README.md @@ -9,11 +9,10 @@ How to make a release - create a branch on the master, called release_, make release edits there - increase version number in iminuit/version.py - update doc/changelog.rst -- check that new tutorials are listed in the tutorials section of the docs - run `make integration` to do integration tests (if these fail, add tests to iminuit!) - run `.ci/download_azure_artifacts.py` to download all wheels from the latest pipeline - run `python -m twine upload dist/*` if everything looks ok (missing files can be uploaded later, but existing files cannot be overridden!) -- merge release branch to master (do not squash!) +- merge release branch to master - create release on Github - conda-forge should pick this up automatically and generate conda packages diff --git a/doc/tutorials.rst b/doc/tutorials.rst index 3ac9902a0..9464a340d 100644 --- a/doc/tutorials.rst +++ b/doc/tutorials.rst @@ -5,45 +5,6 @@ Tutorials ========= -All the tutorials are in tutorial directory. You can view them online, too. +All the tutorials are in tutorial directory of the iminuit repository and `can be viewed online `_. -`Basic tutorial `_ ---------------------------------------------------------------------------------------------------------------------------------- - -Covers the basics of using iminuit. - -`iminuit and automatic differentiation with JAX `_ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -How to compute function gradients for iminuit with jax_ and accelerate Python code with JAX's JIT compiler. Spoiler: a **32x** speed up over plain numpy is achieved. Also discusses how to do a least-squares fit with data that has uncertainties in *x* and *y*. - -`How to accelerate and parallelize cost functions with Numba `_ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -Shows how cost functions can be accelerated by Just-In-Time compilation with numba, and how important it is to optimize the most time-consuming hot spot. - -`iminuit and an external minimizer `_ --------------------------------------------------------------------------------------------------------------------------------------------------------------- - -iminuit can run the HESSE algorithm on any point of the cost function. This means one can effectively combine iminuit with other minimizers: let the other minimizer find the minimum and only run iminuit to compute the parameter uncertainties. This does not work with MINOS, which requires that MIGRAD is run first. - -`How to write a generic least-squares cost function `_ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -Explains how iminuit reads function signatures and how the tooling can be used in a generic least-squares cost function that forwards the signature of the fitted model to iminuit. - -`Uncertainty computation in iminuit `_ ------------------------------------------------------------------------------------------------------------------------------------------------- - -This is less of a tutorial and more of a write-up on how MINUIT (and thus iminuit) compute uncertainties from likelihood functions. - -Outdated Cython tutorials -------------------------- - -The following two tutorials are outdated. Users who want to speed up their fits should try the just-in-time compilers provided by numba_ or jax_ in CPython or use iminuit in PyPy to accelerate the computation. This is much simpler than using Cython and may achieve even better performance. - -- `Advanced tutorial `_. - Shows how to speed up the computation of the cost function with Cython. - -- `Hard Core Cython tutorial `_. - Goes into more detail on how to use Cython. +It is recommended to start with the basic tutorial. All other tutorials are optional, for those who want to know more about specific aspects.