**Chapter 27. **** Minimizing Multivariate Functions
** (.NET, C#, CSharp, VB, Visual Basic, F#)

**NMath**
provides classes for minimizing multivariate functions using the downhill
simplex method, Powell's direction set method, the conjugate gradient
method, and the variable metric (or quasi-Newton) method.

Like the univariate minimization classes described
in Chapter 26, the multivariate minimization classes
derive from the abstract base class **MinimizerBase**,
which provides Tolerance and MaxIterations properties. In general, minimization
stops when either the decrease in function value is less than the tolerance,
or the maximum number of iterations is reached.

The multivariate minimization classes also implement one of the following interfaces:

● Classes
that implement the **IMultiVariableMinimizer**
interface require only function evaluations to minimize a function.

● Classes
that implement the **IMultiVariableDMinimizer**
interface also require evaluations of the derivative of a function.

This chapter describes how to use the multivariate minimizer classes.