Skip to content
Field Atlas

Atlas / Mathematics / The Computation Thread

Field · Emerged 1947 – 1969

Numerical Linear Algebra

How do you solve a million linear equations on a machine that rounds every operation, and know the answer is right?

5 chapters5 min read6 turning points1 open problem

Branched from
Numerical Analysis
Branched into
Not yet surveyed past here
Figures
John von Neumann, Herman Goldstine, Alan Turing, Magnus Hestenes, Eduard Stiefel, John Francis, Vera Kublanovskaya, Volker Strassen

In brief

Almost every large computation in science ends in linear algebra. Simulating a bridge, fitting a model to data, ranking web pages and training a neural network all reduce, at their core, to solving systems of linear equations, finding eigenvalues, or both. Numerical linear algebra is the study of doing these tasks quickly and accurately with matrices far too large to handle by hand.

Elimination for linear systems is two thousand years old. What was new after 1945 was the question of rounding. In 1947 and 1948 von Neumann, Goldstine and Turing analysed how errors grow when a computer inverts a matrix, and Turing gave the measure that governs it, the condition number. The next two decades produced the core algorithms still in use: conjugate gradients, the QR algorithm for eigenvalues and a stable way to compute the singular value decomposition. In 1969 Strassen showed that even multiplying matrices can be done faster than anyone expected, and how much faster is still unknown.

Key ideas

Gaussian eliminationEnters c. 1st century CE

Solve a system of equations by subtracting multiples of one equation from the others until each has one fewer unknown, then solve backwards. For nn equations it takes about 2n3/32n^3/3 arithmetic operations.

Condition numberEnters 1948

A measure of how sensitive the answer is to small changes in the data. If it is about 10k10^k, a computation carried out to 16 digits can be expected to lose about kk of them, however carefully it is done.

Iterative methodsEnters 1952

For very large sparse matrices, where most entries are zero, do not eliminate at all. Improve an approximate solution step by step, using only multiplications by the matrix. Conjugate gradients is the best known.

Eigenvalues by iterationEnters 1959 – 1961

The eigenvalues of a large matrix cannot be computed by formula. The QR algorithm repeatedly factors the matrix and multiplies the factors in reverse order, and the matrix converges to a form with the eigenvalues on its diagonal.

Chapter I

Elimination

Systems of linear equations are among the oldest problems in mathematics. The Chinese Nine Chapters on the Mathematical Art, compiled by about the first century CE, solves them by writing the coefficients in columns on a counting board and subtracting one column from another until the unknowns can be read off one at a time. The method is exactly what is now taught as Gaussian elimination.

The European name comes from least squares. In 1805 Adrien-Marie Legendre published a rule for fitting an orbit to more observations than it has unknowns: minimise the sum of the squared errors. In 1809 Carl Friedrich Gauss gave the rule a basis in probability and a systematic way to solve the resulting equations. He also claimed to have used it since 1795, which Legendre resented, a dispute followed in statistical inference. Through the nineteenth century, surveyors and geodesists solved such systems by hand, sometimes with dozens of unknowns.

Chapter II

Will the Errors Grow?

The first electronic computers made much larger systems possible, and raised a worry. In 1943 the statistician Harold Hotelling estimated that rounding errors in elimination could grow like 4n4^n with the number of unknowns, which would ruin any system of more than a few dozen. In 1947 John von Neumann and Herman Goldstine analysed the process line by line and showed that for symmetric positive definite matrices, a class common in physics and statistics, the errors stay small.

A year later Alan Turing separated the two sources of trouble. A method can be unstable, adding more error than it should. Or the problem itself can be ill-conditioned, so sensitive to its data that no method could do well. He called the measure of that sensitivity the condition number. The distinction became the organising idea of the whole subject: first ask how sensitive the problem is, then ask whether the method adds more error than that. Wilkinson later showed that elimination, with rows swapped to use the largest available pivot, is almost always stable in this sense.

Chapter III

Algorithms for Large Matrices

The 1950s and 1960s produced most of the algorithms still in daily use. In 1952 Magnus Hestenes and Eduard Stiefel published the conjugate gradient method, which never changes the matrix at all and only multiplies vectors by it. That made it ideal, once its value was recognised, for the huge sparse systems that come from partial differential equations. For eigenvalues, John Francis and Vera Kublanovskaya independently found the QR algorithm around 1961. In 1965 Gene Golub and William Kahan showed how to compute the singular value decomposition stably, which made least squares and data compression reliable.

In 1969 Volker Strassen, trying to prove that elimination was the best possible method, found instead that it was not. His paper, three pages long, was titled "Gaussian elimination is not optimal". The algorithms were then collected into shared libraries: EISPACK and LINPACK in the 1970s, and LAPACK from 1992, which still sits beneath most scientific software.

Chapter IV

A Closer Look: Counting and Conditioning

Elimination on nn equations first uses the first equation to remove the first unknown from the other n−1n - 1. That costs about 2(n−1)22(n-1)^2 operations. The next stage works on a system one size smaller, and so on. Adding up,

∑k=1n−12k2≈2n33.\sum_{k=1}^{n-1} 2k^2 \approx \frac{2n^3}{3}.

For 1,000 unknowns that is about 6.7×1086.7 \times 10^8 operations, well under a second on a laptop. For 10,000 unknowns it is 6.7×10116.7 \times 10^{11}, a thousand times more. Cost grows with the cube of the size.

Speed is not the only question. The Hilbert matrix has entries 1/(i+j−1)1/(i + j - 1). For three unknowns,

H3=(11213121314131415),H3−1=(9−3630−36192−18030−180180).H_3 = \begin{pmatrix} 1 & \tfrac12 & \tfrac13 \\ \tfrac12 & \tfrac13 & \tfrac14 \\ \tfrac13 & \tfrac14 & \tfrac15 \end{pmatrix}, \qquad H_3^{-1} = \begin{pmatrix} 9 & -36 & 30 \\ -36 & 192 & -180 \\ 30 & -180 & 180 \end{pmatrix}.

The entries of H3H_3 are at most 1, but its inverse has entries up to 192. Small changes in the data are magnified accordingly. The condition number, the ratio of the largest to the smallest stretching the matrix applies, measures this. Choose the right-hand side so that the exact solution is all ones, solve in standard double precision, which keeps about 16 digits, and look at the largest error in the computed answer:

Size nnCondition numberLargest error
41.6×1041.6 \times 10^{4}≈10−13\approx 10^{-13}
61.5×1071.5 \times 10^{7}≈10−10\approx 10^{-10}
81.5×10101.5 \times 10^{10}≈10−7\approx 10^{-7}
101.6×10131.6 \times 10^{13}≈10−4\approx 10^{-4}
121.7×10161.7 \times 10^{16}≈0.3\approx 0.3

This is Turing's rule of thumb in action. A condition number of about 10k10^k costs about kk of the 16 digits. At size 12 almost nothing is left, and some entries of the answer are off by about a third. The elimination was carried out stably each time. The problem, not the method, lost the digits.

Chapter V

Linear Algebra Everywhere

Linear algebra became the engine room of computing. The finite element models of numerical PDEs end in sparse systems with millions of unknowns, solved by conjugate gradients and its relatives. The steps of continuous optimisation solve a linear system at every iteration. The fastest supercomputers are ranked by how quickly they perform elimination. Behind it all sits a question Strassen opened in 1969 and nobody has closed: how many operations does it really take to multiply two matrices?

Applications

Where it is used

  • The web

    Ranking pages by an eigenvector

    Google's original PageRank treated the web as a huge matrix of links and ranked each page by its entry in the matrix's leading eigenvector. With billions of pages, the eigenvector was found by repeated multiplication, the simplest iterative method.

    › Sources (1)
    • Brin, S. & Page, L. (1998). The anatomy of a large-scale hypertextual Web search engine. Computer Networks and ISDN Systems 30(1–7): 107–117.
  • Quantum physics↗ Physics · Quantum Mechanics

    Energy levels as eigenvalues

    In quantum mechanics the allowed energies of a molecule or a material are the eigenvalues of a matrix, often an enormous one. Computing them, with the QR algorithm for moderate sizes and iterative methods for huge ones, is a large share of the world's scientific computing.

    › Sources (1)
    • Saad, Y. (2011). Numerical Methods for Large Eigenvalue Problems, revised edition. SIAM.

Open problems

Where the map runs out

Open

The exponent of matrix multiplication

Open as of 2026. A preprint of August 2026 lowered the best upper bound to 2.371177, from 2.371339.

Let ω\omega be the smallest number such that two n×nn \times n matrices can be multiplied in about nωn^{\omega} operations. Obviously ω≥2\omega \ge 2, since the answer has n2n^2 entries. Strassen showed ω<2.81\omega < 2.81, and a long series of improvements has pushed the bound below 2.372. Many believe that ω=2\omega = 2.

Why it is hard

The best methods rest on an indirect construction, the laser method, whose limits are now partly understood: several results show that it and its close relatives cannot reach 2. The gains of the last thirty years have come in the third decimal place. Proving a lower bound better than 2 seems far out of reach.

What resolving it unlocks

The same exponent governs solving linear systems, inverting matrices and computing determinants, so an answer would settle the true cost of linear algebra. It would also speed up many graph algorithms that reduce to matrix products, although the fastest known methods are too complicated to use in practice.

› Sources (3)

Further reading

  1. Trefethen, L. N. & Bau, D. (1997). Numerical Linear Algebra. SIAM.

    A clear, short textbook built around the ideas of conditioning and stability.

  2. Golub, G. H. & Van Loan, C. F. (2013). Matrix Computations, 4th edition. Johns Hopkins University Press.

    The standard reference for the algorithms themselves.

  3. Grcar, J. F. (2011). Mathematicians of Gaussian elimination. Notices of the American Mathematical Society 58(6): 782–792.

    A short history from the Nine Chapters to the computer age.