...one of the most highly
regarded and expertly designed C++ library projects in the
world.

— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards

**Table of Contents**

- Root Finding Without Derivatives
- Root Finding With Derivatives: Newton-Raphson, Halley & Schröder
- Roots of Cubic Polynomials
- Roots of Quartic Polynomials
- Examples of Root-Finding (with and without derivatives)
- The Effect of a Poor Initial Guess
- Examples Where Root Finding Goes Wrong
- Locating Function Minima using Brent's algorithm
- Comparison of Root Finding Algorithms

Several tools are provided to aid finding minima and roots of functions.

Some root-finding without derivatives methods are bisection, bracket and solve, including use of TOMS 748 algorithm.

For root-finding with derivatives the methods of Newton-Raphson iteration, Halley, and Schröder are implemented.

For locating minima of a function, a Brent minima finding example is provided.

There are several fully-worked root-finding examples, including: