Content deleted Content added
Fgnievinski (talk | contribs) avoid duplicating List of numerical analysis topics |
→Software: List of numerical libraries}} |
||
(43 intermediate revisions by 25 users not shown) | |||
Line 1:
{{Short description|
{{Use dmy dates|date=October 2020}}
[[Image:Ybc7289-bw.jpg|thumb|250px|right|Babylonian clay tablet [[YBC 7289]] (c. 1800–1600
'''Numerical analysis''' is the study of [[algorithm]]s that use numerical [[approximation]] (as opposed to [[symbolic computation|symbolic manipulations]]) for the problems of [[mathematical analysis]] (as distinguished from [[discrete mathematics]]). It is the study of numerical methods that attempt
Before modern computers, [[numerical method]]s often relied on hand [[interpolation]] formulas, using data from large printed tables. Since the mid
The numerical point of view goes back to the earliest mathematical writings. A tablet from the [[Yale Babylonian Collection]] ([[YBC 7289]]), gives a [[sexagesimal]] numerical approximation of the [[square root of 2]], the length of the [[diagonal]] in a [[unit square]].
Line 10:
Numerical analysis continues this long tradition: rather than giving exact symbolic answers translated into digits and applicable only to real-world measurements, approximate solutions within specified error bounds are used.
==Applications==
The overall goal of the field of numerical analysis is the design and analysis of techniques to give approximate but accurate solutions to a wide variety of hard problems,
* Advanced numerical methods are essential in making [[numerical weather prediction]] feasible.
* Computing the trajectory of a spacecraft requires the accurate numerical solution of a system of ordinary differential equations.
* Car companies can improve the crash safety of their vehicles by using computer simulations of car crashes. Such simulations essentially consist of solving [[partial differential equation]]s numerically.
*
Stephen Blyth.
[https://
2013.
page VII.
Line 25:
* Insurance companies use numerical programs for [[Actuary|actuarial]] analysis.
==History==
The field of numerical analysis predates the invention of modern computers by many centuries. [[Linear interpolation]] was already in use more than 2000 years ago. Many great mathematicians of the past were preoccupied by numerical analysis,<ref name="20c"/> as is obvious from the names of important algorithms like [[Newton's method]], [[Lagrange polynomial|Lagrange interpolation polynomial]], [[Gaussian elimination]], or [[Euler's method]]. The origins of modern numerical analysis are often linked to a 1947 paper by [[John von Neumann]] and [[Herman Goldstine]],<ref name="watson" /><ref>
{{cite book |editor1-link=Adhemar Bultheel |editor1-first=Adhemar |editor1-last=Bultheel |editor2-first=Ronald |editor2-last=Cools |title=The Birth of Numerical Analysis |volume=10 |publisher= World Scientific |date=2010 |isbn=978-981-283-625-0 |url={{GBurl|pKZpDQAAQBAJ|pg=PR17}} }}
Line 35 ⟶ 33:
</ref>
[[File:Handbook of Mathematical Functions, by Abramowitz and Stegun, cover.jpg|right|thumb|128px|NIST publication]]
To facilitate computations by hand, large books were produced with formulas and tables of data such as interpolation points and function coefficients. Using these tables, often calculated out to 16 decimal places or more for some functions, one could look up values to plug into the formulas given and achieve very good numerical estimates of some functions. The canonical work in the field is the [[NIST]] publication edited by [[Abramowitz and Stegun]], a 1000-plus page book of a very large number of commonly used formulas and functions and their values at many points. The function values are no longer very useful when a computer is available, but the large listing of formulas can still be very handy.
Line 40 ⟶ 39:
The [[Leslie Fox Prize for Numerical Analysis]] was initiated in 1985 by the [[Institute of Mathematics and its Applications]].
==Key concepts==
===Direct and iterative methods===
Direct methods compute the solution to a problem in a finite number of steps. These methods would give the precise answer if they were performed in [[Arbitrary-precision arithmetic|infinite precision arithmetic]]. Examples include [[Gaussian elimination]], the [[QR decomposition|QR factorization]] method for solving [[system of linear equations|systems of linear equations]], and the [[simplex method]] of [[linear programming]]. In practice, [[floating-point arithmetic|finite precision]] is used and the result is an approximation of the true solution (assuming [[numerically stable|stability]]).
In contrast to direct methods, [[iterative method]]s are not expected to terminate in a finite number of steps, even if infinite precision were possible. Starting from an initial guess, iterative methods form successive approximations that [[Limit of a sequence|converge]] to the exact solution only in the limit. A convergence test, often involving [[Residual (numerical analysis)|the residual]], is specified in order to decide when a sufficiently accurate solution has (hopefully) been found. Even using infinite precision arithmetic these methods would not reach the solution within a finite number of steps (in general). Examples include Newton's method, the [[bisection method]], and [[Jacobi iteration]]. In computational matrix algebra, iterative methods are generally needed for large problems.<ref>{{cite book |first=Y. |last=Saad |title=Iterative methods for sparse linear systems |publisher=SIAM |date=2003 |isbn=978-0-89871-534-7 |url={{GBurl|qtzmkzzqFmcC|pg=PR5}} }}</ref><ref>{{cite book |last1=Hageman |first1=L.A. |last2=Young |first2=D.M. |title=Applied iterative methods |publisher=Courier Corporation |edition=2nd |date=2012 |isbn=978-0-8284-0312-2 |url={{GBurl|se3YdgFgz4YC|pg=PR4}} }}</ref><ref>{{cite book |first=J.F. |last=Traub |title=Iterative methods for the solution of equations |publisher=American Mathematical Society |edition=2nd |date=1982 |isbn=978-0-8284-0312-2 |url={{GBurl|se3YdgFgz4YC|pg=PR4}}}} </ref><ref>{{cite book |first=A. |last=Greenbaum |title=Iterative methods for solving linear systems |publisher=SIAM |date=1997 |isbn=978-0-89871-396-1 |url={{GBurl|QpVpvE4gWZwC|pg=PP6}}}}</ref>
Iterative methods are more common than direct methods in numerical analysis. Some methods are direct in principle but are usually used as though they were not, e.g. [[GMRES]] and the [[conjugate gradient method]]. For these methods the number of steps needed to obtain the exact solution is so large that an approximation is accepted in the same manner as for an iterative method.
As an example, consider the problem of solving
:3''x''<sup>3</sup> + 4 = 28
Line 78 ⟶ 85:
From this table it can be concluded that the solution is between 1.875 and 2.0625. The algorithm might return any number in that range with an error less than 0.2.
===Conditioning===
Ill-conditioned problem: Take the function {{math|size=100%|1=''f''(''x'') = 1/(''x'' − 1)}}. Note that ''f''(1.1) = 10 and ''f''(1.001) = 1000: a change in ''x'' of less than 0.1 turns into a change in ''f''(''x'') of nearly 1000. Evaluating ''f''(''x'') near ''x'' = 1 is an ill-conditioned problem.
Well-conditioned problem: By contrast, evaluating the same function {{math|size=100%|1=''f''(''x'') = 1/(''x'' − 1)}} near ''x'' = 10 is a well-conditioned problem. For instance, ''f''(10) = 1/9 ≈ 0.111 and ''f''(11) = 0.1: a modest change in ''x'' leads to a modest change in ''f''(''x'').
===Discretization===
Line 106 ⟶ 94:
==Generation and propagation of errors==
{{further|Error propagation}}
The study of errors forms an important part of numerical analysis. There are several ways in which error can be introduced in the solution of the problem.
Line 119 ⟶ 108:
===Numerical stability and well-posed problems===
Both the original problem and the algorithm used to solve that problem can be well-conditioned or ill-conditioned, and any combination is possible.
So an algorithm that solves a well-conditioned problem may be either numerically stable or numerically unstable. An art of numerical analysis is to find a stable algorithm for solving a well-posed mathematical problem.
==Areas of study==
Line 195 ⟶ 120:
Interpolation: Observing that the temperature varies from 20 degrees Celsius at 1:00 to 14 degrees at 3:00, a linear interpolation of this data would conclude that it was 17 degrees at 2:00 and 18.5 degrees at 1:30pm.
Extrapolation: If the [[gross domestic product]] of a country has been growing an average of 5% per year and was 100 billion last year, it might be extrapolated that it will be 105 billion this year.
[[Image:Linear-regression.svg|right|100px|A line through 20 points]]
Line 234 ⟶ 159:
Optimization problems ask for the point at which a given function is maximized (or minimized). Often, the point also has to satisfy some [[Constraint (mathematics)|constraint]]s.
The field of optimization is further split in several subfields, depending on the form of the [[objective function]] and the constraint. For instance, [[linear programming]] deals with the case that both the objective function and the constraints are linear. A famous method in linear programming is the [[simplex algorithm|simplex method]].
The method of [[Lagrange multipliers]] can be used to reduce optimization problems with constraints to unconstrained optimization problems.
Line 246 ⟶ 171:
{{Main|Numerical ordinary differential equations|Numerical partial differential equations}}
Numerical analysis is also concerned with computing (in an approximate way) the solution of [[differential equations]], both [[ordinary differential equations]] and [[partial differential equations]].<ref>{{cite book |first=A. |last=Iserles |title=A first course in the numerical analysis of differential equations |publisher=Cambridge University Press |edition=2nd |date=2009 |isbn=978-0-521-73490-5 |url={{GBurl|M0tkw4oUucoC|pg=PR5}} }}</ref>
Partial differential equations are solved by first discretizing the equation, bringing it into a finite-dimensional subspace.<ref>{{cite book |first=W.F. |last=Ames |title=Numerical methods for partial differential equations |publisher=Academic Press |edition=3rd |date=2014 |isbn=978-0-08-057130-0 |url={{GBurl|KmjiBQAAQBAJ|pg=PP7}} }}</ref> This can be done by a [[finite element method]],<ref>{{cite book |first=C. |last=Johnson |title=Numerical solution of partial differential equations by the finite element method |publisher=Courier Corporation |date=2012 |isbn=978-0-486-46900-3 |url={{GBurl|0IFCAwAAQBAJ|p=2}} }}</ref><ref>{{cite book |last1=Brenner |first1=S. |last2=Scott |first2=R. |title=The mathematical theory of finite element methods |publisher=Springer |edition=2nd |date=2013 |isbn=978-1-4757-3658-8 |url={{GBurl|ServBwAAQBAJ|pg=PR11}}}}</ref><ref>{{cite book |last1=Strang |first1=G. |last2=Fix |first2=G.J. |orig-year=1973 |title=An analysis of the finite element method |publisher=Wellesley-Cambridge Press |date=2018 |isbn=9780980232783 |url=https://archive.org/details/analysisoffinite0000stra |oclc=1145780513 |edition=2nd}}</ref> a [[finite difference]] method,<ref>{{cite book |last=Strikwerda |first=J.C. |title=Finite difference schemes and partial differential equations |publisher=SIAM |edition=2nd |date=2004 |isbn=978-0-89871-793-8 |url={{GBurl|mbdt5XT25AsC|pg=PP5}}}}</ref> or (particularly in engineering) a [[finite volume method]].<ref>{{cite book |first=Randall |last=LeVeque |title=Finite Volume Methods for Hyperbolic Problems |publisher=Cambridge University Press |date=2002 |isbn=978-1-139-43418-8 |url={{GBurl|mfAfAwAAQBAJ|pg=PT6}}}}</ref> The theoretical justification of these methods often involves theorems from [[functional analysis]]. This reduces the problem to the solution of an algebraic equation.
==Software==
{{Main|List of numerical-analysis software|Comparison of numerical-analysis software|List of programming languages by type#Numerical analysis|l3=Numerical analysis programming languages|List of numerical libraries}}
Since the late twentieth century, most algorithms are implemented in a variety of programming languages. The [[Netlib]] repository contains various collections of software routines for numerical problems, mostly in [[Fortran]] and [[C (programming language)|C]]. Commercial products implementing many different numerical algorithms include the [[IMSL Numerical Libraries|IMSL]] and [[Numerical Algorithms Group|NAG]] libraries; a [[free software|free-software]] alternative is the [[GNU Scientific Library]].
Line 259 ⟶ 184:
The [[Naval Surface Warfare Center]] several times published its [https://apps.dtic.mil/sti/pdfs/ADA476840.pdf ''Library of Mathematics Subroutines''] (code [https://jblevins.org/mirror/amiller/#nswc here]).
There are several popular numerical computing applications such as [[MATLAB]],<ref>{{cite book |last1=Quarteroni |first1=A. |last2=Saleri |first2=F. |last3=Gervasio |first3=P. |title=Scientific computing with MATLAB and Octave |publisher=Springer |edition=4th |date=2014 |isbn=978-3-642-45367-0 |url={{GBurl|_0m9BAAAQBAJ|pg=PR11}}}}</ref><ref name="gh">{{cite book |editor1-last=Gander |editor1-first=W. |editor2-last=Hrebicek |editor2-first=J. |title=Solving problems in scientific computing using Maple and Matlab® |publisher=Springer |date=2011 |isbn=978-3-642-18873-2 |url={{GBurl|di2qCAAAQBAJ|pg=PR14}}}}</ref><ref name="bf">{{cite book |last1=Barnes |first1=B. |last2=Fulford |first2=G.R. |title=Mathematical modelling with case studies: a differential equations approach using Maple and MATLAB |publisher=CRC Press |edition=2nd |date=2011 |isbn=978-1-4200-8350-7 |oclc=1058138488 }}</ref> [[TK Solver]], [[S-PLUS]], and [[IDL (programming language)|IDL]]<ref>{{cite book |first=L.E. |last=Gumley |title=Practical IDL programming |publisher=Elsevier |date=2001 |isbn=978-0-08-051444-4 |url={{GBurl|1d-tNpm_x4gC|pg=PR9}}}}</ref> as well as free and open
Many [[computer algebra system]]s such as [[Mathematica]] also benefit from the availability of [[arbitrary-precision arithmetic]] which can provide more accurate results.<ref>{{cite book |first=R.E. |last=Maeder |title=Programming in mathematica |publisher=Addison-Wesley |edition=3rd |date=1997 |isbn=9780201854497 |oclc=1311056676 |url=https://archive.org/details/programminginmat0000maed_l2m6}}</ref><ref>{{cite book |first=Stephen |last=Wolfram |date=1999 |title=The MATHEMATICA® book, version 4 |publisher=[[Cambridge University Press]] |url={{GBurl|Xny77v_QPkEC|pg=PR19}} |isbn=9781579550042 }}</ref><ref>{{cite book |last1=Shaw |first1=W.T. |last2=Tigg |first2=J. |title=Applied Mathematica: getting started, getting it done |publisher=Addison-Wesley |date=1993 |isbn=978-0-201-54217-2 |oclc=28149048 |url=http://www.gbv.de/dms/bowker/toc/9780201542172.pdf}}</ref><ref>{{cite book |last1=Marasco |first1=A. |last2=Romano |first2=A. |title=Scientific Computing with Mathematica: Mathematical Problems for Ordinary Differential Equations |publisher=Springer |date=2001 |isbn=978-0-8176-4205-1 |url={{GBurl|iFRqemnmMqUC|pg=PR7}}}}</ref>
Line 270 ⟶ 195:
*[[:Category:Numerical analysts]]
*[[Analysis of algorithms]]
*[[Approximation theory]]
*[[Computational science]]
*[[Computational physics]]
Line 293 ⟶ 219:
{{refbegin}}
* {{cite book |author1 = Golub, Gene H. |author-link = Gene H. Golub |author2 = Charles F. Van Loan |author2-link = Charles F. Van Loan |title=Matrix Computations |edition=3rd |publisher=Johns Hopkins University Press |isbn=0-8018-5413-X |year = 1986 }}
* {{cite book |author1 = Ralston Anthony |author2 = Rabinowitz Philips | title=A First Course in Numerical Analysis | edition=2nd |publisher=Dover publications | isbn=978-0486414546 |year=2001 }}
*{{cite book |first=Nicholas J. |last=Higham |author-link=Nicholas Higham |title = Accuracy and Stability of Numerical Algorithms |url=https://archive.org/details/accuracystabilit0000high |url-access=registration |publisher=Society for Industrial and Applied Mathematics |isbn=0-89871-355-2 |orig-year=1996 |year=2002}}
* {{cite book |last=Hildebrand |first=F. B. |author-link=Francis B. Hildebrand | title=Introduction to Numerical Analysis |edition=2nd |year=1974 |publisher=McGraw-Hill |isbn= 0-07-028761-9 }}
* David Kincaid and Ward Cheney: ''Numerical Analysis : Mathematics of Scientific Computing'', 3rd Ed., AMS, ISBN 978-0-8218-4788-6 (2002).
* {{cite book |last=Leader |first=Jeffery J. |author-link=Jeffery J. Leader |title=Numerical Analysis and Scientific Computation |year=2004 |publisher=Addison Wesley |isbn= 0-201-73499-0 }}
* {{cite book|last= Wilkinson |first =J.H. |author-link=James H. Wilkinson |title=The Algebraic Eigenvalue Problem |url= https://archive.org/details/algebraiceigenva0000wilk |url-access= registration |publisher = Clarendon Press |orig-year=1965 |year=1988 |isbn=978-0-19-853418-1 }}
Line 316 ⟶ 244:
*[https://dlmf.nist.gov/3 Numerical Methods], ch 3. in the ''[[Digital Library of Mathematical Functions]]''
*[https://personal.math.ubc.ca/~cbm/aands/page_875.htm Numerical Interpolation, Differentiation and Integration], ch 25. in the ''Handbook of Mathematical Functions'' ([[Abramowitz and Stegun]])
*[https://fncbook.com/ Tobin A. Driscoll and Richard J. Braun: ''Fundamentals of Numerical Computation'' (free online version)]
===Online course material===
|