- latex,
- postscript, and

The main topic of this lecture was the condition number of a matrix. Standard references on Numerical Linear Algebra that discuss the condition number are:

- Matrix Computation, by Golub and van Loan ,
- Applied Numerical Linear Algebra, by James Demmel, and
- Numerical Linear Algebra, by Trefethen and Bau

- The Probability that A Numerical Analysis Problem is Difficult, by James W. Demmel, appeared in Mathematics of Computation, Vol 50, No 182, April 1988, pp. 449-480. Available at JSTOR.
- Eigenvalues and Condition Numbers of Random Matrices, by Alan Edelman, appeared in SIAM J. Matrix Anal. Appl., 1988, vol 9, no 4, pp. 543-560.
- Eigenvalues and Condition Numbers of Random Matrices, by A. Edelman MIT PhD Dissertation, 1989.

All of the matlab code used in this lecture may be found on the BAP matlab code directory. The following are the matlab code used to generate some of the experiments performed in class, and some of those that should have been. Download the code and try some out!

for i = 1:10000, a = randn(32); d(i) = min(svd(a)); end d = sort(d); clf plot([1:10000]/10000,d) A = 2*eye(32) - tril(ones(32)); min(svd(A)) for i = 1:10000, a = A + randn(32)/100; dp(i) = min(svd(a)); end dp = sort(dp); hold on; plot([1:10000]/10000,dp,'r') clf; for i = 1:10000, a = (rand(32) < .3); d(i) = min(svd(a)); end d = sort(d); plot([1:10000]/10000,d) clf; for i = 1:100000, a = ((rand(32) < 1/2)-1/2)/100 ; d(i) = min(svd(a)); end for i = 1:100000, a = ((rand(32) < 1/2)-1/2)/100 + A; dp(i) = min(svd(a)); end dp = sort(dp); hold on plot(dp,'r') D = zeros(10); E = crossedGrid(D,1) %% a 1 at the end plots it! A = graph2A(E); min(abs(eig(A))) for i = 1:10000, D = (rand(10) < 1/2); E = crossedGrid(D,0); A = graph2A(E); d(i) = min(abs(eig(A))); end d = sort(d); clf plot(d)