Timeline of scientific computing
Jump to navigation
Jump to search
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
The following is a timeline of scientific computing, also known as computational science.
Before modern computers
[edit | edit source]18th century
[edit | edit source]- Simpson rediscovers Simpson's rule, a century after Johannes Kepler (who derived it in 1615 after seeing it used for wine barrels).
- 1733 – The French naturalist Comte de Buffon poses his needle problem.[1][2]
- Euler comes up with a simple numerical method for integrands.[3][4][5]
- c. 500 BCE - Urdhva Tiryakbhyam algorithm, a Vedic method for fast integer multiplication; foundational for Indian mathematics.[6]
- 300 BCE - Babylonian root extraction method, Earliest documented numerical algorithm for square roots.[7]
- c. 250 BCE - Chinese Remainder Theorem Systematic solution to simultaneous congruences; used in cryptography.[8]
19th century
[edit | edit source]- First formulation of Gram-Schmidt orthogonalisation by Laplace,[9] to be further improved decades later.[10][11][12][13]
- Babbage in 1822, began work on a machine made to compute/calculate values of polynomial functions automatically by using the method of finite differences. This was eventually called the Difference engine.
- Lovelace's note G on the Analytical Engine (1842) describes an algorithm for generating Bernoulli numbers. It is considered the first algorithm ever specifically tailored for implementation on a computer, and thus the first-ever computer programme.[14][15] The engine was never completed, however, so her code was never tested.[16]
- Adams-Bashforth method published.[17]
- In applied mathematics, Jacobi develops technique for solving numerical equations.[18][19][20]
- Gauss Seidel first published.
- To help with computing tides, Harmonic Analyser is built in 1886.
- 850 CE: Al-Kindi's frequency analysis – First systematic cryptanalysis technique for breaking substitution ciphers.[21]
- 1206: Al-Jazari's programmable orchestra – Mechanical automata using pegged cylinders for sequence control (early program storage).[22]
- 1676: Leibniz's chain rule – Foundation for calculus-based optimization later used in backpropagation.[22]
- 1738/1763: Bernoulli's utility theory & Bayes' theorem – Probabilistic frameworks for decision-making algorithms.[22]
1900s (decade)
[edit | edit source]- 1900 – Runge's work followed by Martin Kutta to invent the Runge-Kutta method for approximating integration for differential equations.[23][24]
1910s (decade)
[edit | edit source]- 1910 – A-M Cholesky creates a matrix decomposition scheme.[25][26]
- Richardson extrapolation introduced.
1920s
[edit | edit source]- 1922 – Lewis Fry Richardson introduces numerical weather forecasting by manual calculation, using methods originally developed by Vilhelm Bjerknes as early as 1895.[27][28]
- 1926 – Grete Hermann publishes foundational paper for computer algebra, which established the existence of algorithms (including complexity bounds) for many of the basic problems of abstract algebra, such as ideal membership for polynomial rings.[29]
- 1926 Adams-Moulton method.
- 1927 – Douglas Hartree creates what is later known as the Hartree–Fock method, the first ab initio quantum chemistry methods. However, manual solutions of the Hartree–Fock equations for a medium-sized atom were laborious and small molecules required computational resources far beyond what was available before 1950.
- 1928 – Leslie Comrie proposes using commercial tabulating machines to perform scientific calculations, and himself uses them to expand Ernest William Brown's lunar calculations.
1930s
[edit | edit source]This decade marks the first major strides to a modern computer, and hence the start of the modern era.
- Fermi's Rome physics research group (informal name I ragazzi di Via Panisperna) develop statistical algorithms based on Comte de Buffon's work, that would later become the foundation of the Monte Carlo method. See also FERMIAC.
- Shannon explains how to use electric circuits to do Boolean algebra in "A Symbolic Analysis of Relay and Switching Circuits"
- John Vincent Atanasoff and Clifford Berry create the first electronic non-programmable, digital computing device, the Atanasoff–Berry Computer, from 1937-42.
- Complex number calculator created by Stibitz.
- At Columbia University's Rutherford Laboratory Wallace J. Eckert uses commercial tabulating machinery from IBM, some of it specially modified, for scientific computation.
1940s
[edit | edit source]- 1947 – Metropolis algorithm for Monte Carlo simulation (named one of the top-10 algorithms of the 20th century)[30] invented at Los Alamos by von Neumann, Ulam and Metropolis.[31][32][33]
- George Dantzig introduces the simplex method (named one of the top 10 algorithms of the 20th century)[30] in 1947.[34]
- Ulam and von Neumann introduce the notion of cellular automata.[35]
- Turing formulated the LU decomposition method.[36]
- A. W. H. Phillips invents the MONIAC hydraulic computer at LSE, better known as "Phillips Hydraulic Computer".[37][38]
- First hydro simulations occurred at Los Alamos.[39][40]
1950s
[edit | edit source]- First successful weather predictions on a computer occurred.[41][42]
- Hestenes, Stiefel, and Lanczos, all from the Institute for Numerical Analysis at the National Bureau of Standards, initiate the development of Krylov subspace iteration methods.[43][44][45][46] Named one of the top 10 algorithms of the 20th century.[30]
- Equations of State Calculations by Fast Computing Machines introduces the Metropolis–Hastings algorithm.[47]
- Molecular dynamics invented by Bernie Alder and Wainwright [48][49]
- A S Householder invents his eponymous matrices and transformation method (voted one of the top 10 algorithms of the 20th century).[50]
- 1953 – Enrico Fermi, John Pasta, Stanislaw Ulam, and Mary Tsingou discover the Fermi–Pasta–Ulam–Tsingou problem through computer simulations of a vibrating string.[51]
- A team led by John Backus develops the FORTRAN compiler and programming language at IBM's research centre in San Jose, California. This sped the adoption of scientific programming,[52][53][54] and is one of the oldest extant programming languages, as well as one of the most popular in science and engineering.
1960s
[edit | edit source]- 1960 – First recorded use of the term "finite element method" by Ray Clough to describe the earlier methods of Richard Courant, Alexander Hrennikoff and Olgierd Zienkiewicz in structural analysis.[55]
- 1961 – John G.F. Francis[56][57] and Vera Kublanovskaya[58] invent QR factorization (voted one of the top 10 algorithms of the 20th century).
- 1963 – Edward Lorenz discovers the butterfly effect on a computer, attracting interest in chaos theory.[59]
- 1961 – Using computational investigations of the 3-body problem, Michael Minovitch formulates the gravity assist method.[60][61]
- 1964 – Molecular dynamics invented independently by Aneesur Rahman.[62]
- 1965 – fast Fourier transform developed by James W. Cooley and John W. Tukey.[63]
- 1964 – Walter Kohn, with Lu Jeu Sham and Pierre Hohenberg, instigates the development of density functional theory,[64][65] for which he shares the 1998 Nobel Chemistry Prize with John Pople.[66] This contribution is arguably the earliest work to which Nobels were given for a computer program or computational technique.
- First regression calculations in economics.
1970s
[edit | edit source]- 1975 – Benoit Mandelbrot coins the term "fractal" to describe the self-similarity found in the Fatou, Julia and Mandelbrot sets. Fractals become the first mathematical visualization tool extensively explored with computing.[67]
- 1977 – Kenneth Appel and Wolfgang Haken prove the four colour theorem, the first theorem to be proved by computer.[68][69][70]
1980s
[edit | edit source]- Fast multipole method (voted one of the top 10 algorithms of the 20th century) invented by Vladimir Rokhlin and Leslie Greengard.[71][72][73]
- Car–Parrinello molecular dynamics developed by Roberto Car and Michele Parrinello
1990s
[edit | edit source]- 1990 – In computational genomics and sequence analysis, the Human Genome Project, an endeavour to sequence the entire human genome, begins.
- 1998 – Kepler conjecture is almost all but certainly proved algorithmically by Thomas Hales.
- The appearance of the first research grids using volunteer computing – GIMPS (1996), distributed.net (1997) and Seti@Home (1999).
2000s
[edit | edit source]- 2000 – The Human Genome Project completes a rough draft of human genome.
- 2003 – The Human Genome Project completed.
- 2002 – The BOINC architecture is launched.
2010s
[edit | edit source]- Foldit players solve virus structure, one of the first cases of a game solving a scientific question.
See also
[edit | edit source]- Computational science
- History of computing
- History of mathematics
- Timeline of mathematics
- Timeline of algorithms
- Timeline of computational physics
- Timeline of computational mathematics
- Timeline of numerical analysis after 1945
- History of computing hardware
References
[edit | edit source]- ^ Buffon, G. Editor's note concerning a lecture given 1733 by Mr. Le Clerc de Buffon to the Royal Academy of Sciences in Paris. Histoire de l'Acad. Roy. des Sci., pp. 43-45, 1733; according to Weisstein, Eric W. "Buffon's Needle Problem." From MathWorld--A Wolfram Web Resource. 20 Dec 2012 20 Dec 2012.
- ^ Buffon, G. "Essai d'arithmétique morale." Histoire naturelle, générale er particulière, Supplément 4, 46-123, 1777; according to Weisstein, Eric W. "Buffon's Needle Problem." From MathWorld--A Wolfram Web Resource. 20 Dec 2012
- ^ Euler, L. Institutionum calculi integralis. Impensis Academiae Imperialis Scientiarum, 1768.
- ^ Butcher, John C. (2003), Numerical Methods for Ordinary Differential Equations, New York: John Wiley & Sons, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
- ^ Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (1993), Solving ordinary differential equations I: Nonstiff problems, Berlin, New York: Springer-Verlag, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Laplace, PS. (1816). Théorie Analytique des Probabilités :First Supplement, p. 497ff.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Earliest Known Uses of Some of the Words of Mathematics (G). As of Aug 2017.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Tom Stoppard's “Arcadia,” at Twenty. By Brad Leithauser. The New Yorker, August 8, 2013.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Bashforth, Francis (1883), An Attempt to test the Theories of Capillary Action by comparing the theoretical and measured forms of drops of fluid. With an explanation of the method of integration employed in constructing the tables which give the theoretical forms of such drops, by J. C. Adams, Cambridge.
- ^ Jacobi's Ideas on Eigenvalue Computation in a modern context, Henk van der Vorst.
- ^ Jacobi method, Encyclopedia of Mathematics.
- ^ The Early History of Matrix Iterations: With a Focus on the Italian Contribution, Michele Benzi, 26 October 2009. SIAM Conference on Applied Linear Algebra, Monterey Bay – Seaside, California.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ MW Kutta. "Beiträge zur näherungsweisen Integration totaler Differentialgleichungen" [Contributions to the approximate integration of total differential equations] (in German). Thesis, University of Munich.
- 1901 – Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). and in B.G Teubner, 1901.
- ^ Runge, C., "Über die numerische Auflösung von Differentialgleichungen" [About the numerical solution of differential equations](in German), Math. Ann. 46 (1895) 167-178.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ L F Richardson, Weather Prediction by Numerical Process. Cambridge University Press (1922).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).. Accessed 5 May 2012.
- ^ S. Ulam, R. D. Richtmyer, and J. von Neumann(1947). Statistical methods in neutron diffusion. Los Alamos Scientific Laboratory report LAMS–551.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). Systems Optimization Laboratory, Stanford University Huang Engineering Center (site host/mirror).
- ^ Von Neumann, J., Theory of Self-Reproducing Automata, Univ. of Illinois Press, Urbana, 1966.
- ^ A. M. Turing, Rounding-off errors in matrix processes. Quart. J Mech. Appl. Math. 1 (1948), 287–308 (according to Poole, David (2006), Linear Algebra: A Modern Introduction (2nd ed.), Canada: Thomson Brooks/Cole, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..) .
- ^ The computer model that once explained the British economy. Larry Elliott, The Guardian, Thursday 8 May 2008.
- ^ Phillip's Economic Computer, 1949. Archived 2014-10-03 at the Wayback Machine Exhibit at London Science Museum.
- ^ Richtmyer, R. D. (1948). Proposed Numerical Method for Calculation of Shocks. Los Alamos, NM: Los Alamos Scientific Laboratory LA-671.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ See the review article:- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Magnus R. Hestenes and Eduard Stiefel, Methods of Conjugate Gradients for Solving Linear Systems, J. Res. Natl. Bur. Stand. 49, 409-436 (1952).
- ^ Eduard Stiefel, U¨ ber einige Methoden der Relaxationsrechnung (in German), Z. Angew. Math. Phys. 3, 1-33 (1952).
- ^ Cornelius Lanczos, Solution of Systems of Linear Equations by Minimized Iterations, J. Res. Natl. Bur. Stand. 49, 33-53 (1952).
- ^ Cornelius Lanczos, An Iteration Method for the Solution of the Eigenvalue Problem of Linear Differential and Integral Operators, J. Res. Natl. Bur. Stand. 45, 255-282 (1950).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Fermi, E. (posthumously); Pasta, J.; Ulam, S. (1955) : Studies of Nonlinear Problems (accessed 25 Sep 2012). Los Alamos Laboratory Document LA-1940. Also appeared in 'Collected Works of Enrico Fermi', E. Segre ed., University of Chicago Press, Vol.II,978–988,1965. Recovered 21 Dec 2012
- ^ W.W. McDowell Award citation: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ National Medal of Science citation: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ RW Clough, "The Finite Element Method in Plane Stress Analysis," Proceedings of 2nd ASCE Conference on Electronic Computation, Pittsburgh, PA, Sept. 8, 9, 1960.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). Also published in: Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki [Journal of Computational Mathematics and Mathematical Physics], 1(4), pages 555–570 (1961).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Minovitch, Michael: "A method for determining interplanetary free-fall reconnaissance trajectories," Jet Propulsion Laboratory Technical Memo TM-312-130, pages 38-44 (23 August 1961).
- ^ Christopher Riley and Dallas Campbell, Oct 22, 2012. "The maths that made Voyager possible". BBC News Science and Environment. Recovered 16 Jun 2013.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[permanent dead link]
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ B. Mandelbrot; Les objets fractals, forme, hasard et dimension (in French). Publisher: Flammarion (1975), Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).; English translation Fractals: Form, Chance and Dimension. Publisher: Freeman, W. H & Company. (1977). Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ L. Greengard, The Rapid Evaluation of Potential Fields in Particle Systems, MIT, Cambridge, (1987).
- ^ Rokhlin, Vladimir (1985). "Rapid Solution of Integral Equations of Classic Potential Theory." J. Computational Physics Vol. 60, pp. 187-207.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]- SIAM (Society for Industrial and Applied Mathematics) News. Top 10 Algorithms of the 20th Century.
- The History of Numerical Analysis and Scientific Computing @ SIAM (Society for Industrial and Applied Mathematics)
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- IEEE Milestones
Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').