Math 116 Spring 2014

Alex Barnett, Kemeny 206, 6-3178

Syllabus in PDF.

We meet in Kemeny 006 in the 2A slot (2-3:50pm Tu, Th, with intermission). You may and should bring laptops either to type into or do numerical experiments occasionally; if you don't we can share. Office hours are 2-3pm Wednesday, and 5-6pm Thursday; you can come to Math 56 office hours if no-one else is there, or by arrangement.


How are we able to compute the massive things that we can? How are we able to find eigenvalues of large matrices, solve PDEs with error 0.0000000001, optimize a function of thousands of variables, or solve linear systems with a million unknowns? Although faster hardware is part of the story, much of the credit goes to the invention (discovery?) of vastly more efficent numerical algorithms, say O(N log N) instead of O(N2).

This spring I will run Math 116 as a research-paper-based ``journal club'' where students will present some of the great numerical analysis and computational algorithms (either classic or recent). I first plan to lecture for two weeks to teach rapidly some key concepts in numerical analysis, and provide us with common langauge. Then we shift to student presentations of papers from a list (see below) of classic and modern papers, including some of the ``Top Ten Algorithms of the 20th Century'' (according to SIAM). Many of these algorithms are run millions of times per day worldwide, and have had a huge impact on science. We keep themes accessible: a focus on numerical linear algebra (since this hasn't been covered much in this department, yet is so important), also papers on Fourier methods, finite differencing, randomized algorithms. None of the papers are too technical: they require mostly linear algebra (rather than, say, functional analysis), and a enthusiasm to dig into algorithms even when subscripts get messy!

Your main workload will be presenting an appropriate chunk of your chosen paper during two 90-min lectures (ie 1 week of our 2A slot, with intermissions, and 10 mins at the end for discussion and filling feedback forms). You can use chalk, computer slides, handouts, or activities for the audience which teach them ideas, or a mixture (I encourage this). A large part of your presentation should be the main mathematical ideas/theory/algorithm, defining new objects clearly. Then I suggest you do computer implementation/experiments, either of a piece of the algorithm, or the whole thing (ask me what's reasonable). You should also try to answer: Why is this algorithm better than other ways of solving the problem? What research areas in science use the algorithm? What impact has it had? Each week one of the other students will be ``scribe'' and take as good notes as they can, and type them up in a few pages of LaTeX; the lecturer will check over them for corrections.

Your work (and how I assess you) will then be:

Your workload will therefore be concentrated into the week before, and the week of, your presentation; most of the rest of the quarter you need only be an engaged class participant.

You do not have to do implement the algorithms you present, but I suggest you try this; none of them are too complicated to code. Why? It's fun, Matlab makes it pretty quick to do, and I and your peers are here to help. Presenting your code and its results could form a chunk of your 2nd (ie Thursday) lecture. I will consider it all part of your effort.

Choose your paper by Tuesday April 1st. If you don't get your first choice, rest assured they are all beautiful and interesting. I would like the papers to be presented roughly in historical order.

There is no final exam, although I may give summary lectures at the end.



Shirley Zhao is running upcoming LaTeX crash courses.
  1. This course is about skills any successful researcher needs: reading complicated stuff, extracting what you need, explaining to others, and implementing/testing it.
  2. Start reading 2 weeks before, and look/ask around for textbooks, lecture notes, reviews, to help you understand the paper and its context. Start writing your two lectures 1 week before.
  3. Do a little practice writing clearly with chalk if you haven't done this much---press hard, write big.
  4. Explain things to each other; explain them to me in office hrs. Keep a list of what you're stuck on. Don't worry if there's some bits of the paper you never quite get; focus on what matters. Narrative flow is important.
  5. Don't get carried away with perfect computer presentations, although beamer is useful.
  6. Start messing around with Matlab to get into the swing of things. Is there a command that already does your algorithm? (if so, well, you should still implement it; if not, why not?)
  7. Think if there's a mathematical step/proof you can have us the audience do, give us the pieces and try it. More fun than watching you do it at the board.


The papers

See discussion in syllabus. PDFs only available from domain.



Numerical Analysis


This is the typesetting package essentially all mathematicians use. You will use it for projects, and, I hope, homeworks.

Coding tips