Math 624 Numerical Analysis

Syllabus

updated on August 25, 2017


Overview

Math 624 is a graduate course in Numerical Analysis. I expect to cover the basics of numerical analysis, including iterative methods for solving equations and finding eigenvectors, polynomial approximation, optimization via gradient descent, and some Monte Carlo methods.

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

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

Grades will be determined by work on several projects, probably four.

Practical information

Math 624 is scheduled to meet Tuesdays and Thursdays from 1:40-2:55 in Kiely 220 Kiely 271.

Contact info:

References

No books are required for the course, but two are recommended. The first is an inexpensive Dover publication, Numerical Methods for Scientists and Engineers, by R. W. Hamming, whose motto is The purpose of computation is insight, not numbers.

The second recommended book is A Whirlwind Tour of Python by Jake VanderPlas, a free ebook published by O'Reilly.

Calendar

Also, be aware of the CUNY Academic Calendar. In particular, our class is not scheduled to meet on Thursday, September 21, Tuesday, November 21, or Thursday, September 23. In addition, our class will not meet on Thursday, August 31.


Computing

CoCalc

We will be using an online computing environment called CoCalc in this class. CoCalc will allow you to do sophisticated computations, write computer programs, and create LaTeX documents online using a web browser. You'll need to create a free CoCalc account, but you won't need to install any software on your own computer.

To create an account, go to cocalc.com.

You will receive an email inviting you to join the NumericalAnalysis course. When you login to your account, you'll be able to select the NumericalAnalysis.course project for this course, and you should see two folders. The first folder contains the syllabus. The second folder contains a file called pythonbasics.ipynb and has some exercises for you to do.

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. Moreover, python has some advanced interactive programming environments that combine code and documentation together that will make it easy for us to use.

The main python reference for this course is a free ebook published by O'Reilly:

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 following sections of A Whirlwind Tour of Python:

It's not necessary to install anything on your computer in order to use python. You can just go to your CoCalc account, create a Jupyter notebook and immediately have access to an interpretive python environment. You'll want to know that code is executed in a Jupyter notebook by pressing SHIFT-return or using the play button. If you've accepted the invitation to join the NumericalAnalysis.course in CoCalc, you'll see a Jupyter notebook called pythonbasics.ipynb which you can work through along side the sections of the book listed above.

If you want more information about python, I suggest starting with the official python website www.python.org and working through the tutorial. If you like videos, there's Python Programming, which is about an hour long. If you have a bit more time, you can check out Google's python course, which has several accompanying videos and exercises.