Please email your project reports to: firstname.lastname@example.org !!!
MINIMUM DEGREE MOVIE:
(also need realmmd.m)
RUN THIS ONE-WAY MOVIE CONTRIBUTED BY JOSEPH SIKORA: one_way_wave.m
ANOTHER GREAT CODE (actually 2!) WAS JUST RECEIVED (FRIDAY 5PM) FROM ADITYA UNDURTI: lax_wendroff.m, lax_friedrichs.m
MORE GREAT CODE (wave propagation), FROM FRED PEARCE: fdwe_1D.m, get_ricker.m
Lecturer: Gilbert Strang, email@example.com. Office: 2-240. Office hours: MW 3
Lecture: MWF 1 in room 3-370
Grader: Yeunwoo Cho, firstname.lastname@example.org. Office: 2-130. Office hour: F 3 (starting 2/17)
Textbook: Introduction to Applied Mathematics by Gilbert Strang
Course information: (ps,pdf)
Good information about the course is available on OpenCourseWare !!! 18.086 on OCW
Selected Project from 2006
Homework #1 (for Monday 2/13 if possible): (ps,pdf) Solutions: pdf HW1-codes
[x,y]=meshgrid(-3:.1:1,-3:.1:3); z=x+i*y; f=abs(1+z+z.^2/2+z.^3/6+z.^4/24)-1; contour(x,y,f,[0,0],'k') axis equal,grid on
MATLAB codes: AB_2.m f_is.m HW1_1.m HW1_2.m RK_2.m
Homework #2 (for Friday March 3rd): (ps,pdf) Solutions: pdf HW2-codes
Level Set Material: lecture notes (pdf) presentation (pdf) lsdemo (m-files)
Project #1 (for Wednesday April 5th): (pdf)
Sections from the new book Applied Mathematics and Scientific Computing (2007):
Link to paper on "Approximate and Incomplete Factorizations" http://www.library.uu.nl/digiarchief/dip/dispute/2001-0621-115821/proc.pdf
Is there a simple way to count the fill-in in elimination ?
Run chol (or lu) and use "nnz" (number of non-zeros).
>> % Generate discrete Laplacian operator >> A=delsq(numgrid('S',100)); >> % Cholesky factorize >> R=chol(A); >> nnz(R) ans = 941289 >> % As above, but permute rows & columns by approximate minimum degree >> p=symamd(A); >> R=chol(A(p,p)); >> nnz(R) ans = 184917
Does min degree just take nodes a row at a time (if it breaks ties
If that is N^3 -- and would sparse backslash do it ?? --
Yes it does, it is a "greedy algorithm." The approximate one might be a little different, but in principle it does the same thing. Sparse backslash does this automatically. If symmetric, then it uses "symmmd" (symmetric minimum degree), then "chol." If non-symmetric, "colamd" (column approximate minimum degree), then umfpack.
this is about as fast as possible except for Fast Poisson Solvers ?
Well, it is probably as fast as possible for Gaussian elimination. But iterative solvers do better, I think CG with Incomplete Cholesky should be N^(2.5). Then of course fast solvers, FFT-based and multigrid.
Develop a code for INCOMPLETE LU and try it on the 2D matrix for increasing N. You can make it a general code or specialize it to these particular matrices (and decide which entries to keep in the approximate factors L and U). Try on A2D u = random right side. You could use eig to find the spectral radius of the preconditioned matrix B. That matrix is I - inv(P)A2D where P ≈ LU. Of course if P = A2D then B = 0 and convergence in 1 step.
M. Benzi, G. H. Golub and J. Liesen, "Numerical solution of
saddle point problems", Acta Numerica, 14 (2005), pp 1-137
You can download the final version from http://www.mathcs.emory.edu/~benzi/Web_papers/bgl04.pdf