Back to the Teaching
page
Welcome to the Web page of Math 6737,
Numerical Differential Equations !
- Syllabus
for Math 6737
-
- Demo
page
(brief
description of the course, and cool movies)
- The information on this page refers to MATH 337, which was
the previous name of this course. For reasons of historical
preservation, I did not change that name there.
- Detailed
description of the course content
- Homework
(see
also the link "Codes for examples and ..." below)
- Your homework must be turned in before class
on the day it is due. You need to turn in its hard copy, which must
include your handwritten work along with the printouts of all codes and
all figures generated by them. In addition,
you must also email me the codes (but not the figures), so that I could
run them if I have any questions. Please email the codes as plain
attached files; please do not use OneDrive links or .zip files.
- If you know of circumstances beyond your
control that will prevent timely submission of the homework, please let
me know as soon as you learn of them (preferably at least 48 hours
before the due date). I will then arrange an alternative submission
date for you and not assign a penalty if I find your request reasonable.
- Otherwise, in case of a late submission within
24 hours after the deadline, I will multiply your grade by 80%; within
48 hours - by 50%; and after that - by 0.
-
- Rules
about submission of Matlab codes
- Codes
for
examples and selected homework problems
-
- Assignment for Wednesday, 02/5:
- Read Secs. 3.7, 3/9 of Lecture 3.
- Attempt Problem 5 in HW # 3.
- Answer QSA 14, 15 of Lecture 3.
- HW 3 will be due on Friday, 2/7. (Please disregard the date in the Homework file.)
- Rules
about choosing a topic
for your Final Exam presentation
- Suggested
topics
for the final
presentation (these are just FYI; you may select any other topic
and discuss it with me)
- Some papers for some of the topics suggested
above: topic 2a, topic
2b, topic 3a, topic 3b,
topic 3c, topic 4, topic 7a, topic 7b, topic 10, topic 14a,
topic
14b.
- Class
notes
- Lecture
0 : Preliminaries.
- Lecture 1
: Simple
Euler method and its modifications.
- Latex
file
of this Lecture. Note that instead of (\ref{...}), one can use
\eqref{...}, provided that you have declared
\usepackage{amsmath} in the preamble.
- Lecture
2 : Runge-Kutta methods.
- L.F. Shampine, "Error estimation
and control for ODEs," preprint.
- J.C. Butcher, "A history of
Runge--Kutta methods," [Appl. Num. Math., v. 20, p. 247 (1996)]
- L.F. Shampine & M.W. Reichelt, "Matlab ODE suite," [SIAM J. Sci. Comp., v. 18, p. 1 (1997)]
- Lecture
3 : Multistep,
Predictor-Corrector, and Implicit methods.
- R. Tirani and C. Paracelli, "An
algorithm
for starting multistep methods"
- The following are Matlab codes for
experimenting with the
order of the starting method to obtain a given 3rd-order multistep
method. Run the main code hw3_starting_method.m .
It calls one of the solvers for the simple Euler,
modified Euler, or
midpoint methods, which are available from the Codes
for examples and selected HW prolems link above, and a multistep
solver hw3_AdamsBashforth3.m
. These solvers, in
their turn, call a function fun4_hw3_starting_method.m,
which implemements a particular function f(x,y) in
y'=f(x,y) for which an exact solution is available. Then one can
investigate the order of the multistep method started by a particular
single-step method by varying the step size, i.e. as described in
Problem 4 of HW 1.
- A. Nordsieck, "On numerical
integration of ordinary differential equations," [Math. Comp., v.
16, p. 22 (1962)]
(Understanding one of the key steps of this problem requires the
knowledge of the concept of stability, which is covered in Lecture 4.)
- Lecture
4 : Stability analysis of
finite-difference methods for ODEs.
- Plots
of
stability regions of 3 families of methods (copied from the
notes by Prof. H. Riecke of Northwestern
University; see "Useful links" below for more detail). The plot
for a 5th-order Runge--Kutta method can be found in Fig. 2 of the
review article on ODEs for Encyclopedia of Ecology, posted below.
- Lecture
5 : Higher-order ODEs and
systems of ODEs.
- E. Hairer, C. Lubich, and G. Wanner, "Geometric numerical
integration illustrated by the Stoermer/Verlet method," [Acta
Numerica 2003]
- J. Dummer, "A simple
time-corrected Verlet integration method," (Verlet method with
variable step size), posted on http://www.gamedev.net.
- R. Skeel, "Variable step size
destabilizes
the Stoermer/Leapfrog/Verlet method," [BIT, v. 33, p. 172 (1993)].
- Lecture
6 : Boundary-value problems
(BVPs): Introduction.
- Lecture
7 : The shooting method for
solving BVPs.
- Lecture
8 : Finite-difference methods
for BVPs.
- Lecture
9 : Concepts behind
finite-element method.
- Lecture 10 : Eigenvalue
problems. (this is a hand-written version, usually not
covered in this course)
- L.F. Shampine, J. Kierzenka, and M.W.
Reichelt, "Solving BVPs for
ODEs in MATLAB with bvp4c," preprint (its
published version appears to be J. Kierzenka and L.F. Shampine,
"A BVP solver based on residual
control and the MATLAB PSE," ACM Transactions on Mathematical
Software 27 (3), 299-316 Sept.
2001). The reason I included this reference on par with Lecture notes
is that it contains clear description on how to solve many different
kinds of BVPs using built-in Matlab commands.
- Lecture
11 : Classification of
partial differential equations (PDEs).
- Lecture
12 : The Heat
equation in one spatial dimension:
Simple explicit method and Stability analysis.
- Lecture
13 : Implicit
methods for
the Heat equation.
- Lecture
14 : Generalizations of
the simple Heat equation.
- Lecture
15 : The Heat
equation in 2 and 3 spatial
dimensions.
- Lecture
16 : Hyperbolic
PDEs: Analytical solutions and characteristics.
- Lecture
17 : Method of
characteristics for solving hyperbolic PDEs
Last
updated: January 2025
- Useful
links -- online resources on numerical methods
-
- Drafts of review articles I wrote for Encyclopedia of Ecology (Elsevier, July 2008):
on ODEs, on PDEs.
-
-
- Instructions
how to install MATLAB
- Run the Installer and then follow your nose (accept the
License agreement etc; your/UVM's license number is 1093983).
- Closer to the end of the installation, Matlab will ask
you
which Toolboxes you want to install. You don't want to install all of
them or even "too many," since they will take up your disk space. A
subset
that should more than cover your needs in this course is:
- Control
System
Toolbox
DSP System
Toolbox
Global Optimization Toolbox
Image Processing
Toolbox
Optimization
Toolbox
Signal Processing Toolbox
Symbolic Math Toolbox
- If you wish, you may watch this walk-through video with
instructions:
https://www.mathworks.com/videos/install-matlab-on-personal-computers-campus-wide-license-1717472837232.html
- The installation process takes over 30 minutes.
- MATLAB resources
- How to install MATHEMATICA
- While some of the homework problems will require the use
of symbolic calculations, most of them (if not all) can be done online
via publicly available Wolfram Alpha.
- Another way to avoid installing Mathematica is to log into its Cloud version: https://www.wolframcloud.com/. Sign in using your UVM email (uswe the option Sign in with Single Sign-on (SSO)) and then, at a prompt, UVM password and then open a new Notebook.
- If you prefer to download a copy of Mathematica, do so from UVM Software Portal.
After installing, the system will ask you to activate Mathematica (if you don’t
already have an active license on your computer). Choose Activate Through Your Organization (SSO), enter your UVM email and follow your nose.
- There is a new feature in Mathematica 14, called
"Free-form output," available both in an installed copy of the program
and in WolframCloud (but not in Wolfram Alpha). To see how it works, at
the input begin typing something like "solve cos x + sin x = 0.5" or
"find root of x^2-1" (without quotes). A drop-down menu will appear,
one of whose options is "Convert to free-form output." Select it and
see what happens.
Back to the Teaching page