Each of the parameters to FCN is defined by the user as belonging to one of the following types:
The user, in FCN, must of course be able to ``see'' all types of defined parameters, and he therefore has access to what we call the external parameter list, that is, the parameters as he defined them. On the other hand, the internal Minuit minimizing routines only want to ``see'' variable parameters without limits, and so they have access only to the internal parameter list which is created from the external list by the following transformation:
As an example, suppose that the user has defined the following parameters:
NPAR
to FCN.
This is the number which determines, for example, the size of the error matrix
of the parameters, since only variable parameters have errors.
An important feature of Minuit is that parameters are allowed to change
types during a Minuit run. Several Minuit commands are available to make
variable parameters fixed and vice-versa; to impose, change, or remove limits
from variable parameters; and even to define completely new parameters at any
time during a run. In addition, some Minuit routines (notably the [MINOs]MINOS error
analysis) cause one or more variable parameters to be temporarily fixed during
the calculation. Therefore, the correspondence between external and internal
parameter lists is in general a dynamic one, and the value of NPAR
is not
necessarily constant.
4cmThe transformation for parameters with limits.
For variable parameters with limits, Minuit uses the following transformation:
|
so that the internal value
can take on any value, while
the external value
can take on values only between the lower
limit a and the upper limit b.
Since the transformation is necessarily non-linear, it would transform a
nice linear problem into a nasty non-linear one, which is the reason why
limits should be avoided if not necessary.
In addition, the transformation
does require some computer time, so it slows down the computation a little
bit, and more importantly, it introduces additional numerical inaccuracy into
the problem in addition to what is introduced in the numerical calculation
of the FCN
value.
The effects of non-linearity and numerical roundoff both
become more important as the external value gets closer to one of the limits
(expressed as the distance to nearest limit divided by distance between limits).
The user must therefore be aware of the fact that, for example,
if he puts limits of
on a parameter, then the values
and will be indistinguishable to the accuracy of most machines.
The transformation also affects the parameter error matrix, of course, so Minuit does a transformation of the error matrix (and the ``parabolic'' parameter errors) when there are parameter limits. Users should however realize that the transformation is only a linear approximation, and that it cannot give a meaningful result if one or more parameters is very close to a limit, where . Therefore, it is recommended that:
Further discussion of the effects of parameter limits may be found in the last chapter.