<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Chapter 10. Root Finding &amp; Minimization Algorithms</title>
<link rel="stylesheet" href="math.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Math Toolkit 2.12.0">
<link rel="up" href="index.html" title="Math Toolkit 2.12.0">
<link rel="prev" href="math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference">
<link rel="next" href="math_toolkit/roots_noderiv.html" title="Root Finding Without Derivatives">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="math_toolkit/tr1_ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/roots_noderiv.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<a name="root_finding"></a>Chapter 10. Root Finding &amp; Minimization Algorithms</h1></div></div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="math_toolkit/roots_noderiv.html">Root Finding Without Derivatives</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/roots_noderiv/bisect.html">Bisection</a></span></dt>
<dt><span class="section"><a href="math_toolkit/roots_noderiv/bracket_solve.html">Bracket and
      Solve Root</a></span></dt>
<dt><span class="section"><a href="math_toolkit/roots_noderiv/TOMS748.html">Algorithm TOMS 748:
      Alefeld, Potra and Shi: Enclosing zeros of continuous functions</a></span></dt>
<dt><span class="section"><a href="math_toolkit/roots_noderiv/brent.html">Brent-Decker Algorithm</a></span></dt>
<dt><span class="section"><a href="math_toolkit/roots_noderiv/root_termination.html">Termination
      Condition Functors</a></span></dt>
<dt><span class="section"><a href="math_toolkit/roots_noderiv/implementation.html">Implementation</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/roots_deriv.html">Root Finding With Derivatives:
    Newton-Raphson, Halley &amp; Schröder</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_finding_examples.html">Examples of Root-Finding
    (with and without derivatives)</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/root_finding_examples/cbrt_eg.html">Finding the
      Cubed Root With and Without Derivatives</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_finding_examples/lambda.html">Using C++11
      Lambda's</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_finding_examples/5th_root_eg.html">Computing
      the Fifth Root</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_finding_examples/multiprecision_root.html">Root-finding
      using Boost.Multiprecision</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_finding_examples/nth_root.html">Generalizing
      to Compute the nth root</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_finding_examples/elliptic_eg.html">A More
      complex example - Inverting the Elliptic Integrals</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="math_toolkit/bad_guess.html">The Effect of a Poor Initial Guess</a></span></dt>
<dt><span class="section"><a href="math_toolkit/bad_roots.html">Examples Where Root Finding Goes
    Wrong</a></span></dt>
<dt><span class="section"><a href="math_toolkit/brent_minima.html">Locating Function Minima using
    Brent's algorithm</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_comparison.html">Comparison of Root Finding
    Algorithms</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="math_toolkit/root_comparison/cbrt_comparison.html">Comparison
      of Cube Root Finding Algorithms</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_comparison/root_n_comparison.html">Comparison
      of Nth-root Finding Algorithms</a></span></dt>
<dt><span class="section"><a href="math_toolkit/root_comparison/elliptic_comparison.html">Comparison
      of Elliptic Integral Root Finding Algorithms</a></span></dt>
</dl></dd>
</dl>
</div>
<p>
    Several tools are provided to aid finding minima and roots of functions.
  </p>
<p>
    Some <a class="link" href="math_toolkit/roots_noderiv.html" title="Root Finding Without Derivatives">root-finding without derivatives</a>
    methods are <a class="link" href="math_toolkit/roots_noderiv/bisect.html" title="Bisection">bisection</a>,
    <a class="link" href="math_toolkit/roots_noderiv/bracket_solve.html" title="Bracket and Solve Root">bracket and solve</a>,
    including use of <a class="link" href="math_toolkit/roots_noderiv/TOMS748.html" title="Algorithm TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions">TOMS 748
    algorithm</a>.
  </p>
<p>
    For <a class="link" href="math_toolkit/roots_deriv.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schröder">root-finding with derivatives</a>
    the methods of <a class="link" href="math_toolkit/roots_deriv.html#math_toolkit.roots_deriv.newton">Newton-Raphson
    iteration</a>, <a class="link" href="math_toolkit/roots_deriv.html#math_toolkit.roots_deriv.halley">Halley</a>,
    and <a class="link" href="math_toolkit/roots_deriv.html#math_toolkit.roots_deriv.schroder">Schröder</a> are implemented.
  </p>
<p>
    For locating minima of a function, a <a class="link" href="math_toolkit/brent_minima.html#math_toolkit.brent_minima.example">Brent
    minima finding example</a> is provided.
  </p>
<p>
    There are several fully-worked <a class="link" href="math_toolkit/root_finding_examples.html" title="Examples of Root-Finding (with and without derivatives)">root-finding
    examples</a>, including:
  </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
        <a class="link" href="math_toolkit/root_finding_examples/cbrt_eg.html#math_toolkit.root_finding_examples.cbrt_eg.cbrt_no_derivatives">root-finding
        without derivatives</a>
      </li>
<li class="listitem">
        <a class="link" href="math_toolkit/root_finding_examples/cbrt_eg.html#math_toolkit.root_finding_examples.cbrt_eg.cbrt_1st_derivative">root-finding
        with 1st derivatives</a>
      </li>
<li class="listitem">
        <a class="link" href="math_toolkit/root_finding_examples/cbrt_eg.html#math_toolkit.root_finding_examples.cbrt_eg.cbrt_2_derivatives">root-finding
        with 1st and 2nd derivatives</a>
      </li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
      Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
      Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
      RÃ¥de, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
      Daryle Walker and Xiaogang Zhang<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="math_toolkit/tr1_ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/roots_noderiv.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>