Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #error "RootFinding/NewtonRaphson.hpp does not provide any functionality."
7 :
8 : namespace RootFinder {
9 : /*!
10 : * \ingroup NumericalAlgorithmsGroup
11 : * For the nonlinear solver, see NonlinearSolver::newton_raphson. We
12 : * do not provide a Newton-Raphson root finder. The Boost
13 : * implementation is buggy and can return the wrong answer, and it is
14 : * not clear that performance would be better than RootFinder::toms748
15 : * in practice.
16 : *
17 : * Newton-Raphson is asymptotically faster than TOMS748 in the ideal
18 : * case, but that assumes that function evaluations take the same
19 : * amount of time for both solvers, while in reality the derivatives
20 : * are often as or even more expensive than the values. Additionally,
21 : * for realistic problems, convergence is usually fast enough that
22 : * neither solver reaches the asymptotic regime. Newton-Raphson also
23 : * has the advantage of requiring less work internally in the solver
24 : * implementation, but, again, for realistic problems solver overhead
25 : * is usually dwarfed by the function evaluations.
26 : */
27 1 : void newton_raphson() = delete;
28 : } // namespace RootFinder
|