The Minuit processor [MINOs]MINOS was probably the first, and may still be the only, generally available program to calculate parameter errors taking into account both parameter correlations and non-linearities. The [MINOs]MINOS error intervals are in general assymmetric, and may be expensive to calculate, especially if there are a lot of free parameters and the problem is very non-linear.

[MINOs]MINOS can only operate after a good minimum has already been found, and
the error matrix has been calculated, so the [MINOs]MINOS command will
normally follow a [MIGrad]MIGRAD command.
The [MINOs]MINOS error for a given parameter is defined as the change in the
value of that parameter which causes $F\text{'}$
to increase by the amount `UP`

,
where $F\text{'}$
is the minimum of FCN with respect to all * other*
free parameters, and `UP`

is the ERRordef value specified by the
user (default = 1.).

The algorithm for finding the positive and negative [MINOs]MINOS errors for
parameter `N`

consists of varying parameter `N`

, each time minimizing
FCN with respect to all the other `NPAR-1`

variable parameters,
to find numerically the two values of parameter `N`

for which the
minimum of FCN takes on the values `FMIN+UP`

, where `FMIN`

is the
minimum of FCN with respect to all `NPAR`

parameters.
In order to make the procedure as fast as possible, [MINOs]MINOS uses the
error matrix to predict the values of all parameters at the
various sub-minima which it will have to find in the course of the
calculation, and in the limit that the problem is nearly linear,
the predictions of [MINOs]MINOS will be nearly exact, requiring very
few iterations. On the other hand, when the problem is very
non-linear (i.e., FCN is far from a quadratic function of its
parameters), that is precisely the situation when [MINOs]MINOS is needed
in order to indicate the correct parameter errors.

6cmContour Plotting

Minuit currently offers two very different procedures for finding FCN contours. They will be identified by the corresponding command names: CONtour and MNContour.

This procedure is designed for a lineprinter or alphanumeric
terminal as output device, and gives a static picture of FCN
as function of the two parameters specified by the user, that is,
all the other variable parameters (if any) are considered as
temporarily fixed at their current values. First a range is
chosen, by default two current standard deviations on either
side of the current best value of each of the two parameters,
and a grid size n is chosen, by default 25 by 25 positions
for the full range of each parameter. Contour zero is defined
as the current best function value $F$_{min}

(presumably the minimum), and then the $ith$

contour is defined as where FCN has the value
$F$_{min}+ i^{2}* UP
.
The procedure then simply evaluates FCN at the four corners of
each of the $n2$
grid positions (which makes $(n+1)2$
evaluations)
to determine whether the $ith$
contour passes through
it. The method, although not very efficient or precise,
is very robust, and capable of revealing unexpected
multiple valleys.

The contour calculated by MNContour is dynamic, in the sense
that it represents the minimum of FCN with respect to all the
other `NPAR-2`

parameters (if any). In statistical terms, this
means that MNContour takes account of the correlations between
the two parameters being plotted, and all the other variable
parameters, using a procedure analogous to that of [MINOs]MINOS.
(If this feature is not wanted, then the other
parameters must be FIXed before calling MNContour.)
MNContour provides the actual coordinates of the points around
the contour, suitable for plotting with a graphics routine or
by hand. The points are given in counter-clockwise order
around the contour.
Only one contour is calculated per command (or Fortran call),
and the level is $F$_{min}+ UP
.
where `UP`

is the
[SET ERRordef]ERRordef specified by the user, or 1.0 by default.
The number of points to be calculated is chosen by
the user (Default is 20 for the data-driven mode.).
As a by-product, MNContour provides the [MINOs]MINOS errors of the
two parameters in question, since these are just the extreme
points of the contour (Use SHOw MINos to see them).
In command-driven mode, a rough (alphanumeric, not graphic)
plot of the points is given
(if [SET PRIntout]PRIntlevel$\ge 0$
)
and the numerical values of the coordinates are printed
(if [SET PRIntout]PRIntlevel$\ge 1$
).
In Fortran-callable mode, the user gets Fortran
access to the vector of point coordinates through
[MNCONT]SUBROUTINE MNCONT.

Mon Apr 3 15:36:46 METDST 1995