...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The examples demonstrate how to use the various tools for root finding.
We start with the simple cube root function cbrt
( C++ standard function name cbrt)
showing root finding without
derivatives.
We then show how use of derivatives can improve the speed of convergence.
(But these examples are only a demonstration and do not try to make the ultimate
improvements of an 'industrial-strength' implementation, for example, of boost::math::cbrt
, mainly
by using a better computed initial 'guess' at cbrt.hpp).
Then we show how a higher root (fifth root) 5√ can be computed, and in root_finding_n_example.cpp a generic method for the nth root that constructs the derivatives at compile-time.
These methods should be applicable to other functions that can be differentiated easily.