**Chapter
33. **** Finding Roots of Univariate
Functions ** (.NET, C#, CSharp, VB, Visual Basic, F#)

**NMath** includes
classes for finding roots of univariate functions. A root-finding algorithm
finds a value *x* for a given function
*f, *such that *f(x) = 0*.

All **NMath**
root-finding classes derive from the abstract base class **RootFinderBase**. The interface
and behavior is the same as for **MinimizerBase**
(Section 26.1)—iteration stops when either
the decrease in function value is less than a specified error tolerance,
or the specified maximum number of iterations is reached. The root-finding
classes also implement one of the following interfaces:

● Classes
that implement the **IOneVariableRootFinder**
interface require only function evaluations to find roots.

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

This chapter describes how to use the root-finding classes.