Effective immediately, all lectures and office hours will take the form of video conferences. Please find detailed and up-to-date instructions specific to Math 652 here.
General information about the university's response to the COVID-19 pandemic can be found here.
I wish you all the best during this difficult time, and I want to make sure that Math 652 does not add to your troubles. If something is not working for you, let me know. Please feel free to make suggestions.
Brian Van Koten
Office: LGRT 1428
Website: See my personal website here.
If you have questions or concerns, talk to me during my office hours or make an appointment. My office hours are listed on my math department directory page.
I may change my office hours during the course of the semester. Any such changes will be announced in advance in class.
Lectures will be held MW from 2:30-3:45pm in LGRT 1322.
Homework may be assigned after any class. There will be at least one assignement given each week. All assigments will be posted below. Problems assigned during each week will be due the following week on Friday.
No late homework will be accepted. Instead, when the total course grade is computed, the lowest homework score will be dropped.
I encourage you to discuss the homework with your classmates and to come to my office hours with your questions.
A midterm exam will be assigned during the last week of lectures on numerical partial differential equations.
Please do not discuss the problems on the midterm or the final with anyone. You may consult any of the recommended texts, but please do not search the web for solutions.
If for any reason you will not be able to take either exam at the specified time, let me know as soon as possible.
If you suspect that a mistake has been made in the grading of your work, please point it out to me no more than two weeks after the work was returned. I will not consider complaints if more than two weeks have passed. Please do not ask the grader to change homework grades; come to me with any disputes.
You may find the texts listed below useful. When available, I will give references for results discussed in class, usually in one of the sources below. I will also post excerpts from my lecture notes from time to time, as needed.
Randall J. LeVeque. Finite Difference Methods for Ordinary and Partial Differential Equations.
Available for download from the library. A readable, elementary account of finite difference methods.
Claes Johnson. Numerical Solution of Partial Differential Equations by the Finite Element Method.
Costs $10 on amazon.com. Classic introduction to finite element methods.
Stig Larsson and Vidar Thomée. Partial Differential Equations with Numerical Methods.
To develop reliable numerical methods for PDE, one has to know a great deal about the theory of the equations themselves. This excellent book integrates PDE theory and numerical analysis. It is probably the best book on the subject for those with a sufficiently strong mathematical background.
Arieh Iserles. A First Course in the Numerical Solution of Partial Differential Equations.
Available for download from the library. Includes chapters on finite difference, finite element, spectral, and finite volume methods. Harder to read than LeVeque's book, but worthwhile for its broad treatment of the subject and for the author's savage burns of other numerical analysts.
Léon Bottou, Frank E. Curtis, and Jorge Nocedal. Optimization Methods for Large-Scale Machine Learning.
Available on the arXiv here. A recent survey of optimization methods for machine learning.
Jorge Nocedal and Steven J. Wright. Numerical Optimization.
Available for download as a PDF on the library's website.
Stephen Boyd and Lieven Vandenberghe. Convex Optimization.
Available on Boyd's website.
Introductory courses in numerical analysis, real analysis, and linear algebra. Competency in computer programming. Students should be prepared to learn elements of partial differential equations, functional analysis, physics, and data science, as needed.
I recommend that all students use Python. However, in principle, I will accept correct programs written in any language. I have listed all of the reasonable choices roughly in order of preference.
I think you will probably want to use either the Spyder IDE or Jupyter Notebooks for this class. Spyder is more versatile and it is probably easier to learn. Jupyter might be better for our purposes, however, because you can do both the code and the write up together in Jupyter.
I have been unable to find a good tutorial for Spyder, so I will simply give a demonstration in class. It is quite similar to the MATLAB IDE and also RStudio. Spyder comes with decent documentation, so I don't think you will have any trouble picking it up.
Turn in your programs as appendices to your assignments. If you prefer, you may instead turn in jupyter notebooks incorporating both code and explanations.
The total course score will be computed according to the following formula: 50% Homework + 30% Midterm + 20% Final.
If your score is in the top third, you will receive an A. If your score is in the middle third, you will receive at least a B, but possibly a higher grade. If I am convinced that all students understand the basic principles of the course, I will not give any C's, D's, or F's. I will make the distribution of scores on the midterm and the final exam known.