1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Chapter 10. Root Finding & Minimization Algorithms</title> 5<link rel="stylesheet" href="math.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="index.html" title="Math Toolkit 2.12.0"> 8<link rel="up" href="index.html" title="Math Toolkit 2.12.0"> 9<link rel="prev" href="math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"> 10<link rel="next" href="math_toolkit/roots_noderiv.html" title="Root Finding Without Derivatives"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> 15<td align="center"><a href="../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<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> 24</div> 25<div class="chapter"> 26<div class="titlepage"><div><div><h1 class="title"> 27<a name="root_finding"></a>Chapter 10. Root Finding & Minimization Algorithms</h1></div></div></div> 28<div class="toc"> 29<p><b>Table of Contents</b></p> 30<dl class="toc"> 31<dt><span class="section"><a href="math_toolkit/roots_noderiv.html">Root Finding Without Derivatives</a></span></dt> 32<dd><dl> 33<dt><span class="section"><a href="math_toolkit/roots_noderiv/bisect.html">Bisection</a></span></dt> 34<dt><span class="section"><a href="math_toolkit/roots_noderiv/bracket_solve.html">Bracket and 35 Solve Root</a></span></dt> 36<dt><span class="section"><a href="math_toolkit/roots_noderiv/TOMS748.html">Algorithm TOMS 748: 37 Alefeld, Potra and Shi: Enclosing zeros of continuous functions</a></span></dt> 38<dt><span class="section"><a href="math_toolkit/roots_noderiv/brent.html">Brent-Decker Algorithm</a></span></dt> 39<dt><span class="section"><a href="math_toolkit/roots_noderiv/root_termination.html">Termination 40 Condition Functors</a></span></dt> 41<dt><span class="section"><a href="math_toolkit/roots_noderiv/implementation.html">Implementation</a></span></dt> 42</dl></dd> 43<dt><span class="section"><a href="math_toolkit/roots_deriv.html">Root Finding With Derivatives: 44 Newton-Raphson, Halley & Schröder</a></span></dt> 45<dt><span class="section"><a href="math_toolkit/root_finding_examples.html">Examples of Root-Finding 46 (with and without derivatives)</a></span></dt> 47<dd><dl> 48<dt><span class="section"><a href="math_toolkit/root_finding_examples/cbrt_eg.html">Finding the 49 Cubed Root With and Without Derivatives</a></span></dt> 50<dt><span class="section"><a href="math_toolkit/root_finding_examples/lambda.html">Using C++11 51 Lambda's</a></span></dt> 52<dt><span class="section"><a href="math_toolkit/root_finding_examples/5th_root_eg.html">Computing 53 the Fifth Root</a></span></dt> 54<dt><span class="section"><a href="math_toolkit/root_finding_examples/multiprecision_root.html">Root-finding 55 using Boost.Multiprecision</a></span></dt> 56<dt><span class="section"><a href="math_toolkit/root_finding_examples/nth_root.html">Generalizing 57 to Compute the nth root</a></span></dt> 58<dt><span class="section"><a href="math_toolkit/root_finding_examples/elliptic_eg.html">A More 59 complex example - Inverting the Elliptic Integrals</a></span></dt> 60</dl></dd> 61<dt><span class="section"><a href="math_toolkit/bad_guess.html">The Effect of a Poor Initial Guess</a></span></dt> 62<dt><span class="section"><a href="math_toolkit/bad_roots.html">Examples Where Root Finding Goes 63 Wrong</a></span></dt> 64<dt><span class="section"><a href="math_toolkit/brent_minima.html">Locating Function Minima using 65 Brent's algorithm</a></span></dt> 66<dt><span class="section"><a href="math_toolkit/root_comparison.html">Comparison of Root Finding 67 Algorithms</a></span></dt> 68<dd><dl> 69<dt><span class="section"><a href="math_toolkit/root_comparison/cbrt_comparison.html">Comparison 70 of Cube Root Finding Algorithms</a></span></dt> 71<dt><span class="section"><a href="math_toolkit/root_comparison/root_n_comparison.html">Comparison 72 of Nth-root Finding Algorithms</a></span></dt> 73<dt><span class="section"><a href="math_toolkit/root_comparison/elliptic_comparison.html">Comparison 74 of Elliptic Integral Root Finding Algorithms</a></span></dt> 75</dl></dd> 76</dl> 77</div> 78<p> 79 Several tools are provided to aid finding minima and roots of functions. 80 </p> 81<p> 82 Some <a class="link" href="math_toolkit/roots_noderiv.html" title="Root Finding Without Derivatives">root-finding without derivatives</a> 83 methods are <a class="link" href="math_toolkit/roots_noderiv/bisect.html" title="Bisection">bisection</a>, 84 <a class="link" href="math_toolkit/roots_noderiv/bracket_solve.html" title="Bracket and Solve Root">bracket and solve</a>, 85 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 86 algorithm</a>. 87 </p> 88<p> 89 For <a class="link" href="math_toolkit/roots_deriv.html" title="Root Finding With Derivatives: Newton-Raphson, Halley & Schröder">root-finding with derivatives</a> 90 the methods of <a class="link" href="math_toolkit/roots_deriv.html#math_toolkit.roots_deriv.newton">Newton-Raphson 91 iteration</a>, <a class="link" href="math_toolkit/roots_deriv.html#math_toolkit.roots_deriv.halley">Halley</a>, 92 and <a class="link" href="math_toolkit/roots_deriv.html#math_toolkit.roots_deriv.schroder">Schröder</a> are implemented. 93 </p> 94<p> 95 For locating minima of a function, a <a class="link" href="math_toolkit/brent_minima.html#math_toolkit.brent_minima.example">Brent 96 minima finding example</a> is provided. 97 </p> 98<p> 99 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 100 examples</a>, including: 101 </p> 102<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 103<li class="listitem"> 104 <a class="link" href="math_toolkit/root_finding_examples/cbrt_eg.html#math_toolkit.root_finding_examples.cbrt_eg.cbrt_no_derivatives">root-finding 105 without derivatives</a> 106 </li> 107<li class="listitem"> 108 <a class="link" href="math_toolkit/root_finding_examples/cbrt_eg.html#math_toolkit.root_finding_examples.cbrt_eg.cbrt_1st_derivative">root-finding 109 with 1st derivatives</a> 110 </li> 111<li class="listitem"> 112 <a class="link" href="math_toolkit/root_finding_examples/cbrt_eg.html#math_toolkit.root_finding_examples.cbrt_eg.cbrt_2_derivatives">root-finding 113 with 1st and 2nd derivatives</a> 114 </li> 115</ul></div> 116</div> 117<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 118<td align="left"></td> 119<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar 120 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, 121 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan 122 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, 123 Daryle Walker and Xiaogang Zhang<p> 124 Distributed under the Boost Software License, Version 1.0. (See accompanying 125 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>) 126 </p> 127</div></td> 128</tr></table> 129<hr> 130<div class="spirit-nav"> 131<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> 132</div> 133</body> 134</html> 135