The NS 2-site expanded CPMG model

This is the numerical model for 2-site exchange expanded using Maple by Nikolai Skrynnikov.
It is selected by setting the model to `NS CPMG 2-site expanded'.
The simple constraint
*p*_{A} > *p*_{B} is used to halve the optimisation space, as both sides of the limit are mirror image spaces.

This model will give the same results as the other numerical solutions whereby
R_{2A}^{0} = R_{2B}^{0}.
The following is the set of equations of the expansion used in relax.
It has been modified from the original for speed.
See the lib.dispersion.ns_cpmg_2site_expanded module for more details including the original code.
Further simplifications can be found in the code.

The relative peak intensities, magnetisation, and effective
R_{2} relaxation rate are calculated as

In these equations
*τ*_{CPMG} and
*n*_{CPMG} are numpy arrays and hence *t*_{139} is also a numpy array.
This avoids a Python loop over the dispersion points until the very end of the calculation, required to populate the
R_{2eff} data structure, resulting in very fast calculations.

The reference for this model is:

More information about the NS CPMG 2-site expanded model is available from:

- the relax wiki at http://wiki.nmr-relax.com/NS_CPMG_2-site_expanded,
- the API documentation at http://www.nmr-relax.com/api/3.2/lib.dispersion.ns_cpmg_2site_expanded-module.html,
- the relaxation dispersion page of the relax website at http://www.nmr-relax.com/analyses/relaxation_dispersion.html#NS_CPMG_2-site_expanded.

The relax user manual (PDF), created 2019-03-08.