This is a function interface that is designed
to allow efficient implementations of minimisation
algorithms by recognising the fact that the
function and its gradient may be repeatedly
evaluated at the same point in different parts
of the code - hence we can save ourselves
some computation.
This is a base class for running multidimensional optimisation
It requires the following objects to exist in object space
(they are used by the State base class default constructor)
Functionx "functionx": the function to be minimised
VVector "vector": the vector to work with
ConstrainedMinimiser also requires "constraintClass" to
exist.
This is a function interface that is designed
to allow efficient implementations of minimisation
algorithms by recognising the fact that the
function and its gradient may be repeatedly
evaluated at the same point in different parts
of the code - hence we can save ourselves
some computation.