# One dimensional Root-Finding

This chapter describes routines for finding roots of arbitrary one-dimensional functions. The library provides low level components for a variety of iterative solvers and convergence tests. These can be combined by the user to achieve the desired solution, with full access to the intermediate steps of the iteration. Each class of methods uses the same framework, so that you can switch between solvers at runtime without needing to recompile your program. Each instance of a solver keeps track of its own state, allowing the solvers to be used in multi-threaded programs.

The header file ``gsl_roots.h'` contains prototypes for the root finding functions and related declarations.

- Root Finding Overview
- Root Finding Caveats
- Initializing the Solver
- Providing the function to solve
- Search Bounds and Guesses
- Root Finding Iteration
- Search Stopping Parameters
- Root Bracketing Algorithms
- Root Finding Algorithms using Derivatives
- Root Finding Examples
- Root Finding References and Further Reading