Here are ten things about numerical linear algebra that you may find surprising if you’re not familiar with the field.
- Numerical linear algebra applies very advanced mathematics to solve problems that can be stated with high school mathematics.
- Practical applications often require solving enormous systems of equations, millions or even billions of variables.
- The heart of Google is an enormous linear algebra problem. PageRank is essentially an eigenvalue problem.
- The efficiency of solving very large systems of equations has benefited at least as much from advances in algorithms as from Moore’s law.
- Many practical problems — optimization, differential equations, signal processing, etc. — boil down to solving linear systems, even when the original problems are non-linear. Finite element software, for example, spends nearly all its time solving linear equations.
- A system of a million equations can sometimes be solved on an ordinary PC in under a millisecond, depending on the structure of the equations.
- Iterative methods, methods that in theory require an infinite number of steps to solve a problem, are often faster and more accurate than direct methods, methods that in theory produce an exact answer in a finite number of steps.
- There are many theorems bounding the error in solutions produced on real computers. That is, the theorems don’t just bound the error from hypothetical calculations carried out in exact arithmetic but bound the error from arithmetic as carried out in floating point arithmetic on computer hardware.
- It is hardly ever necessary to compute the inverse of a matrix.
- There is remarkably mature software for numerical linear algebra. Brilliant people have worked on this software for many years.
Related posts:
Don’t invert that matrix
Searching for John Francis
Applying PageRank to biology
Matrix cookbook
What is the cosine of a matrix?

{ 1 trackback }
{ 7 comments… read them below or add one }
Sean Devlin 01.20.10 at 10:53
No love for ATLAS? I thought this was use in favor of lapack nowadays.
http://math-atlas.sourceforge.net/
Giles Warrack 01.20.10 at 11:31
Re No 3, Herbert Wilf (Penn) has a nice handout on the Kendall-Wei algorithm and Google
http://www.math.upenn.edu/~wilf/
joeyo 01.20.10 at 12:27
@Sean: LAPACK is built on top of BLAS/ATLAS.
Evan 01.20.10 at 22:48
So.. you have convinced me to learn Linear Algebra. Do you have any suggestions for books to get started? Thanks for the inspiration!
John 01.21.10 at 00:11
Evan, there are a lot of linear algebra books out there. I got a review copy of Cheney and Kincaid’s linear algebra book a few weeks ago and I thought it was a nice text. It’s easy to read and has a good mix of theory and application.
If you know basic linear algebra and want to jump into numerical linear algebra, I recommend Demmel’s Applied Numerical Linear Algebra. Also, there’s the classic Matrix Calculations by Golub and Van Loan.
Evan 01.21.10 at 14:54
John, thanks for your quick reply. I’ll definitely check those out!
Matt 01.24.10 at 06:46
By the way, has anyone here played with GotoBLAS?
Is its performance really as good as the benchmarks on its website suggest or is it just advertisement?
The source code is freely available, though only for research applications (commercial is not free). Here are relevant links:
http://www.tacc.utexas.edu/resources/software/gotoblasfaq/
http://en.wikipedia.org/wiki/Kazushige_Goto
http://www.tacc.utexas.edu/tacc-projects/
http://web.tacc.utexas.edu/~kgoto/
http://www.pathscale.com/building_code/gotoblas.html