Numerical analysis: Difference between revisions

Content deleted Content added
No edit summary
Software: List of numerical libraries}}
 
(24 intermediate revisions by 19 users not shown)
Line 1:
{{Short description|StudyMethods of algorithms usingfor numerical approximationapproximations}}
{{Use dmy dates|date=October 2020}}
[[Image:Ybc7289-bw.jpg|thumb|250px|right|Babylonian clay tablet [[YBC 7289]] (c. 1800–1600 BCE) with annotations. The approximation of the [[square root of 2]] is four [[sexagesimal]] figures, which is about six [[decimal]] figures. 1 + 24/60 + 51/60<sup>2</sup> + 10/60<sup>3</sup> = 1.41421296...<ref>{{Cite web |url=http://it.stlawu.edu/%7Edmelvill/mesomath/tablets/YBC7289.html |title=Photograph, illustration, and description of the ''root(2)'' tablet from the Yale Babylonian Collection |access-date=2 October 2006 |archive-date=13 August 2012 |archive-url=https://web.archive.org/web/20120813054036/http://it.stlawu.edu/%7Edmelvill/mesomath/tablets/YBC7289.html |url-status=dead }}</ref>]]
'''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 to find approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences like economics, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: [[ordinary differential equation]]s as found in [[celestial mechanics]] (predicting the motions of planets, stars and galaxies), [[numerical linear algebra]] in data analysis,<ref>{{cite book |first=J.W. |last=Demmel |title=Applied numerical linear algebra |publisher=[[Society for Industrial and Applied Mathematics|SIAM]] |date=1997 |isbn=978-1-61197-144-6 |doi=10.1137/1.9781611971446 |url=https://epubs.siam.org/doi/epdf/10.1137/1.9781611971446.fm}}</ref><ref>{{cite book |last1=Ciarlet |first1=P.G. |last2=Miara |first2=B. |last3=Thomas |first3=J.M. |title=Introduction to numerical linear algebra and optimization |publisher=Cambridge University Press |date=1989 |isbn=9780521327886 |oclc=877155729 }}</ref><ref>{{cite book |last1=Trefethen |first1=Lloyd |last2=Bau III |first2=David |title=Numerical Linear Algebra |publisher=SIAM |date=1997 |isbn=978-0-89871-361-9 |url={{GBurl|4Mou5YpRD_kC|pg=PR7}}}}</ref> and [[stochastic differential equation]]s and [[Markov chain]]s for simulating living cells in medicine and biology.
 
Before modern computers, [[numerical method]]s often relied on hand [[interpolation]] formulas, using data from large printed tables. Since the mid -20th century, computers calculate the required functions instead, but many of the same formulas continue to be used in software algorithms.<ref name="20c">{{cite book |last1=Brezinski |first1=C. |last2=Wuytack |first2=L. |title=Numerical analysis: Historical developments in the 20th century |publisher=Elsevier |date=2012 |isbn=978-0-444-59858-5 |url={{GBurl|dt3Z1yu2VxwC|pg=PP6}}}}</ref>
 
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 16:
* 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.
* [[HedgeIn fund]]sthe financial field, (private investment funds) and other financial institutions use [[quantitative finance]] tools from numerical analysis to attempt to calculate the value of [[share capital|stock]]s and [[Derivative (finance)|derivatives]] more precisely than other market participants.<ref>
Stephen Blyth.
[https://wwwbooks.google.com/books/edition/An_Introduction_to_Quantitative_Finance/?id=SXbcAAAAQBAJ "An Introduction to Quantitative Finance"].
2013.
page VII.
Line 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 176:
 
==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 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-source alternatives such as [[FreeMat]], [[Scilab]],<ref>{{cite book |last1=Bunks |first1=C. |last2=Chancelier |first2=J.P. |last3=Delebecque |first3=F. |last4=Goursat |first4=M. |last5=Nikoukhah |first5=R. |last6=Steer |first6=S. |title=Engineering and scientific computing with Scilab |publisher=Springer |date=2012 |isbn=978-1-4612-7204-5 }}</ref><ref>{{cite book |last1=Thanki |first1=R.M. |last2=Kothari |first2=A.M. |title=Digital image processing using SCILAB |publisher=Springer |date=2019 |isbn=978-3-319-89533-8 |url={{GBurl|VydaDwAAQBAJ|pg=PR9}}}}</ref> [[GNU Octave]] (similar to Matlab), and [[IT++]] (a C++ library). There are also programming languages such as [[R (programming language)|R]]<ref>{{cite journal |last1=Ihaka |first1=R. |last2=Gentleman |first2=R. |title=R: a language for data analysis and graphics |journal=Journal of Computational and Graphical Statistics |volume=5 |issue=3 |pages=299–314 |date=1996 |doi=10.1080/10618600.1996.10474713 |s2cid=60206680 |url=https://www.stat.auckland.ac.nz/~ihaka/downloads/R-paper.pdf}}</ref> (similar to S-PLUS), [[Julia (programming language)|Julia]],<ref>{{Cite journal|last1=Bezanson|first1=Jeff|last2=Edelman|first2=Alan|last3=Karpinski|first3=Stefan|last4=Shah|first4=Viral B.|date=2017-01-01|title=Julia: A Fresh Approach to Numerical Computing|url=https://epubs.siam.org/doi/abs/10.1137/141000671|journal=SIAM Review|volume=59|issue=1|pages=65–98|doi=10.1137/141000671|arxiv=1411.1607 |issn=0036-1445|hdl=1721.1/110125|s2cid=13026838 |hdl-access=free}}</ref> and [[Python (programming language)|Python]] with libraries such as [[NumPy]], [[SciPy]]<ref>Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python.</ref><ref>{{cite book |first=E. |last=Bressert |title=SciPy and NumPy: an overview for developers |publisher=O'Reilly |date=2012 |isbn=9781306810395 }}</ref><ref>{{cite book |first=F.J. |last=Blanco-Silva |title=Learning SciPy for numerical and scientific computing |publisher=Packt |date=2013 |isbn=9781782161639 }}</ref> and [[SymPy]]. Performance varies widely: while vector and matrix operations are usually fast, scalar loops may vary in speed by more than an order of magnitude.<ref>[http://www.sciviews.org/benchmark/ Speed comparison of various number crunching packages] {{webarchive |url=https://web.archive.org/web/20061005024002/http://www.sciviews.org/benchmark/ |date=5 October 2006 }}</ref><ref>[http://www.scientificweb.com/ncrunch/ncrunch5.pdf Comparison of mathematical programs for data analysis] {{Webarchive|url=http://arquivo.pt/wayback/20160518062220/http://www.scientificweb.com/ncrunch/ncrunch5.pdf |date=18 May 2016 }} Stefan Steinhaus, ScientificWeb.com</ref>
 
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 195:
*[[:Category:Numerical analysts]]
*[[Analysis of algorithms]]
*[[Approximation theory]]
*[[Computational science]]
*[[Computational physics]]
Line 221 ⟶ 222:
*{{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 242 ⟶ 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===