Skip to main content

Rootfinding and Function Evaluation

  • Chapter
  • First Online:
A Graduate Introduction to Numerical Methods

Abstract

We introduce general methods to evaluate functions and to find roots (or zeros) of functions of all kinds. We examine various approximation methods and study their respective numerical accuracy, by examining their backward error and the condition numbers for evaluation and rootfinding. ⊲

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 99.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    See Higham (2002) for an extended discussion of this issue.

  2. 2.

    Bisection is explained in many numerical analysis texts, and it isn’t quite trivial: If you know a function is positive somewhere (say at x = 1) and negative somewhere else (say x = 0), have a look at it halfway between: If it’s zero there, you’ve found the root; if it’s positive, then the root is between 0 and \({}^{1}/_{2}\), and otherwise it’s between \({}^{1}/_{2}\) and 1. Repeat as necessary.

  3. 3.

    Phrased this way, the proof works even for complex x with an appropriate definition of “average.” See the complex form of the Taylor series remainder given in Chap. 2.

  4. 4.

    Note that the role of the variables x and y are reversed if we compare it to other relation of this type derived so far. This is because, as we mentioned, rootfinding is in some sense an inverse problem.

  5. 5.

    A function is elementary if it can be constructed in a finite tower of Liouvillian extensions of logarithmic, exponential, or algebraic type: This means that \(\ln x =\int _{ 1}^{x}\frac{dt} {t}\), the exponential function, all rational polynomials, and all roots of polynomial functions are elementary. The trigonometric functions are just exponentials, for example, \(\sin x {= }^{({e}^{ix}-{e}^{-ix}) }/_{2i}\). A transcendental function is a function that is not algebraic; some elementary functions are transcendental. Transcendental functions that are not elementary (such as the Gamma function) are called special functions. See, for example, Geddes et al. (1992) for a fuller discussion.

  6. 6.

    See Gil et al. (2007) for an excellent compendium of methods for numerical evaluation of many special functions of practical interest.

  7. 7.

    See Muller et al. (2009) for a discussion of recent progress toward that laudable goal.

  8. 8.

    The AGM is used for elliptic functions and for high-precision computation. See Borwein and Borwein (1984) and Brent (1976).

  9. 9.

    There is a difficulty in this example for very large x; see Problem 3.28.

  10. 10.

    Henry Briggs (1561–1630) made the first truly useful tables of the real logarithm function. The calculations were carried out, by hand, to astonishing 14-digit accuracy; the tables contained tens of thousands of entries. Nowadays this computing feat seems superhuman; we doubt Robin could duplicate this, though as we will see, better methods will occur in this hypothetical than in the actuality of Briggs’ history.

  11. 11.

    See the beautiful book Lanczos (1988). Lanczos’ method is indeed alive and well in modern numerical analysis, nowadays, but mostly for the solution of partial differential equations; our use of it here is twofold, as we will see.

  12. 12.

    There is a very clever trick for recovering some of this information, which can be used to do nearly this; see Higham (2002). This trick relies on ensuring that the correlated rounding errors cancel out.

  13. 13.

    Despite some of its shortcomings, the monomial basis is very good—near-optimal, in fact—if the coefficients don’t have too wide a dynamic range—on the unit disk | z | ≤ 1.

  14. 14.

    Lawrence et al. (2012) concentrate heavily on finding a good initial guess function to start the iteration, and regularize the problem near the lines of discontinuity. Indeed, the bulk of the paper is on those two aspects. However, some time is spent on the iteration methods that might be used, as well. In addition to considering Newton iteration and Halley iteration, the paper also considers a family of higher-order methods and settles on one of them as being (marginally) the most efficient for that function.

  15. 15.

    It is based on work by Richard Brent (e.g., 1973) and earlier work by Dekker (e.g., 1969).

  16. 16.

    This is taken up further in the section on multivariate rootfinding in this chapter, and in Chap. 12, and again in Chap. 14. For an extensive and thorough treatment of this idea for systems of polynomial equations, see Morgan (1987) and Sommese and Wampler (2005).

  17. 17.

    See, for example, the discussion in Corless and Assefa (2007).

  18. 18.

    If we were to try to solve these equations in Matlab, we would have to first implement the Jacobian elliptic functions and their derivatives (see the Google project at http://code.google.com/p/elliptic/, and note that a partial implementation exists in vanilla Matlab, ellipj).

  19. 19.

    We return to it when we study boundary value problems in Chap. 14.

  20. 20.

    We will see more examples of approximation of functions using Chebfun in Chap. 8, and many more can be found at http://www2.maths.ox.ac.uk/chebfun/examples/approx/. A place that Chebfun also shines, however, is in rootfinding. You can find several very impressive examples at http://www2.maths.ox.ac.uk/chebfun/examples/roots/.

  21. 21.

    See, for example, Olds (1963). The discussion here relates to Corless (1992).

References

  • Alefeld, G. (1981). On the convergence of Halley’s method. American Mathematical Monthly, 88(7), 530–536.

    Article  MATH  MathSciNet  Google Scholar 

  • Borwein, J., & Borwein, P. (1984). The arithmetic-geometric mean and fast computation of elementary funtions. SIAM Review, 26(3), 351–366.

    Article  MATH  MathSciNet  Google Scholar 

  • Brent, R. P. (1973). Algorithms for minimization without derivatives. Upper Saddle River, NJ: Prentice-Hall.

    MATH  Google Scholar 

  • Brent, R. (1976). Fast multiple-precision evaluation of elementary functions. Journal of the ACM, 23(2), 242–251.

    Article  MATH  MathSciNet  Google Scholar 

  • Brutman, L., & Pinkus, A. (1980). On the Erdos conjecture concerning minimal norm interpolation on the unit circle. SIAM Journal of Numerical Analysis, 17(3), 373–375.

    Article  MATH  MathSciNet  Google Scholar 

  • Corless, R. M. (1992). Continued fractions and chaos. The American Mathematical Monthly, 99(3), 203–215.

    Article  MATH  MathSciNet  Google Scholar 

  • Corless, R. M., & Assefa, D. (2007). Jeffery-Hamel flow with Maple: a case study of integration of elliptic functions in a CAS. In: Proceedings of the 2007 International Symposium on Symbolic and Algebraic Computation, ISSAC ’07, pp. 108–115. New York: ACM.

    Google Scholar 

  • Corless, R. M., & Jeffrey, D. J. (2002). The Wright ω function. In: J. Calmet, B. Benhamou, O. Caprotti, L. Henocque, & V. Sorge (Eds.), Artificial intelligence, automated reasoning, and symbolic computation, vol. 2385 of LNAI, pp. 76–89. New York: Springer.

    Google Scholar 

  • Corless, R. M., Gonnet, G., Hare, D., Jeffrey, D., & Knuth, D. E. (1996). On the Lambert W function. Advances in Computational Mathematics, 5(1), 329–359.

    Article  MATH  MathSciNet  Google Scholar 

  • De Boor, C., & Pinkus, A. (1978). Proof of the conjectures of Bernstein and Erdös concerning the optimal nodes for polynomial interpolation. Journal of Approximation Theory, 24, 289–303.

    Article  MATH  MathSciNet  Google Scholar 

  • Dekker, T. (1969). Finding a zero by means of successive linear interpolation. In: B. Dejon and P. Henrici (editors), Constructive Aspects of the Fundamental Theorem of Algebra, Wiley-Interscience, New York, 37–48.

    Google Scholar 

  • Farin, G. (1996). Curves and surfaces for computer-aided geometric design: a practical code. Boston: Academic Press.

    Google Scholar 

  • Geddes, K. O., & Fee, G. J. (1992). Hybrid symbolic-numeric integration in maple. In: Papers from the international symposium on Symbolic and algebraic computation, ISSAC ’92, pp. 36–41. New York, NY: ACM.

    Book  Google Scholar 

  • Geddes, K. O., & Mason, J. C. (1975). Polynomial approximation by projections on the unit circle. SIAM Journal on Numerical Analysis, 12(1), 111–120.

    Article  MathSciNet  Google Scholar 

  • Gil, A., Segura, J., & Temme, N. M. (2002). Computing complex Airy functions by numerical quadrature. Numerical Algorithms, 30, 11–23. 10.1023/A:1015636825525.

    Article  MATH  MathSciNet  Google Scholar 

  • Hairer, E., Nørsett, S. P., & Wanner, G. (1993). Solving ordinary differential equations: nonstiff problems. New York: Springer.

    MATH  Google Scholar 

  • Higham, N. (2008). Functions of matrices: theory and computation. Philadelphia: SIAM.

    Book  Google Scholar 

  • Hubbard, J. H., & West, B. H. (1991). Differential equations: a dynamical systems approach, vol. 5, 18. New York: Springer.

    Google Scholar 

  • Johnson, R. (2010). The elements of Matlab style. Cambridge: Cambridge University Press.

    Book  Google Scholar 

  • Jones, W. B., & Thron, W. J. (1974). Numerical stability in evaluating continued fractions. Mathematics of Computation, 28(127), 795–810.

    Article  MATH  MathSciNet  Google Scholar 

  • Lakshmanan, M., & Rajasekar, S. (2003). Nonlinear dynamics: integrability, chaos, and patterns. New York: Springer.

    Google Scholar 

  • Lawrence, P. W., & Corless, R. M. (2011). Numerical stability of barycentric Hermite root-finding. In: Proceedings of the 2011 International Workshop on Symbolic-Numeric Computation, SNC ’11, pp. 147–148. New York: ACM.

    Book  Google Scholar 

  • Martelli, M., Dang, M., & Seph, T. (1998). Defining chaos. Mathematics Magazine, 71(2), 112–122.

    Article  MATH  MathSciNet  Google Scholar 

  • Mattheij, R., & Molenaar, J. (1996). Ordinary differential equations in theory and practice. New York: Wiley.

    MATH  Google Scholar 

  • McNamee, J. (1993). A bibliography on roots of polynomials. Journal of Computational and Applied Mathematics, 47(3), 391–394.

    Article  MATH  MathSciNet  Google Scholar 

  • Moir, R. H. C. (2010). Reconsidering backward error analysis for ordinary differential equations. Master’s thesis, The University of Western Ontario.

    Google Scholar 

  • Moler, C. (2004). Numerical computing with MATLAB (Electronic ed.). Philadelphia: SIAM.

    Google Scholar 

  • Morton, K. W., & Mayers, D. F. (1994). Numerical solution of partial differential equations: an introduction. Cambridge: Cambridge University Press.

    MATH  Google Scholar 

  • Nedialkov, N., & Pryce, J. (2007). Solving differential-algebraic equations by Taylor series (II): computing the system Jacobian. BIT Numerical Mathematics, 47(1), 121–135.

    Article  MATH  MathSciNet  Google Scholar 

  • Nowak, U. (1996). A fully adaptive MOL-treatment of parabolic 1-D problems with extrapolation techniques. Applied Numerical Mathematics, 20(1-2), 129–141.

    Article  MATH  MathSciNet  Google Scholar 

  • Overton, M. L. (2001). Numerical computing with IEEE floating point arithmetic. Philadelphia: SIAM.

    Book  MATH  Google Scholar 

  • Parhami, B. (2000). Computer arithmetic: algorithms and hardware designs. Oxford: Oxford University Press.

    Google Scholar 

  • Söderlind, G. (1984). On nonlinear difference and differential equations. BIT Numerical Mathematics, 24(4), 667–680.

    Article  MATH  Google Scholar 

  • Storjohann, A. (2005). The shifted number system for fast linear algebra on integer matrices. Journal of Complexity, 21(4), 609–650.

    Article  MATH  MathSciNet  Google Scholar 

  • Trefethen, L. N. (2008b). Numerical analysis. The Princeton companion to mathematics. Princeton, NJ: Princeton University Press.

    Google Scholar 

  • Wilkinson, J. H. (1971). Modern error analysis. SIAM Review, 13(4), 548–568.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

Corless, R.M., Fillion, N. (2013). Rootfinding and Function Evaluation. In: A Graduate Introduction to Numerical Methods. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-8453-0_3

Download citation

Publish with us

Policies and ethics