Math 625 Numerical Analysis Syllabus

“The purpose of computation is insight, not numbers.”
- Richard Hamming

Math 625 is a graduate course in Numerical Analysis. The plan is to cover three broad topics in numerical linear algebra:

Projects

There will be three projects organized around the three broad topics that we'll be covering. You'll work in small groups on the projects. One component of the project will be a presentation of your results. Course grades will be determined by work on these projects.

Prerequisites

Students are expected to have a strong working knowledge of linear algebra and be comfortable with mathematical definitions, theorems, and proofs.

Programming experience is not assumed, but programming will be required in this course.

Textbook

There is no textbook for the course. I'll provide references as we go.

Calendar

Math 625 is scheduled to meet Tuesdays and Thursdays 5:00PM - 6:15PM in Kiely 283.

Be aware of the CUNY Academic Calendar. In particular, our class is not scheduled to meet on Thursday February 22, Tuesday April 23, Thursday April 25, and Tuesday February 30.

Contact info

Academic Integrity

Be aware of The CUNY Academic Integrity Policy.


Computing

Python

Computer programming experience is not a pre-requisite, but programming will be essential for success in this course. You'll learn as we go. This semester we'll be using python to write code. Python is a high level, interpreted programming language with sophisticated libraries for doing numerical, symbolic, and scientific computing.

You may want a python reference. There are many good ones. I recommend

It is freely available as a pdf, as well as in print, and in English, Spanish, and Chinese and other languages.

You won't have to learn everything about programming at the beginning, but it will be helpful if you can get acquainted with python basics in the first week. To do so, work through the first three chapters of Think Python:

Jupyter

Jupyter notebooks provide an advanced interactive programming environment for python that combine code and documentation together in a way that will make it easy for us to use.

It's not necessary to install anything on your computer in order to use python. There are at least two ways to use python in a jupyter notebook environment online. If you have a Google account, you can use Google's Colab. Alternatively, there is CoCalc. You need to sign up in order to use Colab or CoCalc, but they are free to use, with options to pay to upgrade for higher performance.

Once you have either a CoLab or CoCalc account, you can create a new Jupyter notebook and immediately have access to an interpretive python environment. You'll want to know that code is executed by pressing SHIFT-return or using the play button. Here's a simple notebook that I created Introduction.ipynb that you can use as a scratchpad to get started.

More resources