Overview
Instructor | Dr. Armin Straub
MSPB 313 straub@southalabama.edu (251) 460-7262 (please use e-mail whenever possible) |
Office hours | MWF 10am-noon, or by appointment |
Lecture | MWF 2:30-3:20pm, in MSPB 235 |
Midterm exams | The tentative dates for our two midterm exams are:
Monday, September 29 Wednesday, November 12 |
Final exam | Monday, December 11 — 3:30-5:30pm |
Online grades |
Homework Scores
Exams: USAonline (Canvas) |
Syllabus | syllabus.pdf |
Lecture sketches and homework
To help you study for this class, I am posting lecture sketches. These are not a substitute for your personal lecture notes or coming to class (for instance, lots of details and motivation are not included in the sketches). I hope that they are useful to you for revisiting the material and for preparing for exams.
Date | Sketch | Homework |
---|---|---|
08/20 | lecture01.pdf | Homework Set 1: Problems 1-3 (due 9/3) |
08/22 | lecture02.pdf | Homework Set 1: Problems 4-5 (due 9/3) |
08/25 | lecture03.pdf | Homework Set 1: Problems 6-9 (due 9/3) |
08/27 | lecture04.pdf | Homework Set 2: Problem 1 (due 9/10) |
08/29 | lecture05.pdf | Homework Set 2: Problems 2-4 (due 9/10) |
09/03 | lecture06.pdf | Homework Set 2: Problems 5-6 (due 9/10) |
09/05 | lecture07.pdf | Homework Set 3: Problems 1-2 (due 9/17) |
09/08 | lecture08.pdf | Homework Set 3: Problems 3-6 (due 9/17) |
09/10 | lecture09.pdf | Homework Set 3: Problems 7-8 (due 9/17) |
09/12 | lecture10.pdf | Homework Set 4: Problem 1 (due 9/24) |
09/15 | lecture11.pdf | Homework Set 4: Problems 2-4 (due 9/24) |
09/17 | lecture12.pdf | Homework Set 4: Problems 5-7 (due 9/24) |
09/19 | lecture13.pdf | Homework Set 5: Problem 1 (due 9/29) |
09/22 | lecture14.pdf | Homework Set 5: Problems 2-3 (due 9/29) |
09/24 | lecture15.pdf | exam practice problems (as well as solutions) are posted below |
09/26 | review | get ready for the midterm exam on 9/29 (Monday) |
10/01 | lecture16.pdf | Homework Set 6: Problems 1-3 (due 10/15) |
10/03 | excursion | (Dr. Clontz is showing off tools for coding) |
10/06 | lecture17.pdf | Homework Set 6: Problem 4 (due 10/15) |
10/08 | excursion | (Dr. Clontz is showing off tools for coding) |
10/13 | lecture18.pdf | Homework Set 7: Problems 1-2 (due 10/27) |
10/15 | lecture19.pdf | complete previous homework |
10/17 | lecture20.pdf | Homework Set 7: Problem 3 (due 10/27) |
10/20 | lecture21.pdf | Homework Set 7: Problem 4 (due 10/27) |
lectures-all.pdf (all lecture sketches in one big file) | ||
Overview of all homework problems |
About the homework
- Homework problems are posted for each unit. Homework is submitted online, and you have an unlimited number of attempts. Only the best score is used for your grade.
Most problems have a random component (which allows you to continue practicing throughout the semester without putting your scores at risk).
- Aim to complete the problems well before the posted due date.
A 15% penalty applies if homework is submitted late.
- Collect a bonus point for each mathematical typo you find in the lecture notes (that is not yet fixed online), or by reporting mistakes in the homework system. Each bonus point is worth 1% towards a midterm exam.
The homework system is written by myself in the hope that you find it beneficial. Please help make it as useful as possible by letting me know about any issues!
Exams and practice material
The following material will help you prepare for the exams.
- Midterm Exam 1:
midterm01-practice.pdf, midterm01-practice-solution.pdf
midterm01.pdf, midterm01-solution.pdf
Python
If you just want to run a handful quick computations (without saving your work), you can use the text box below.
However, keep in mind that the code entered in this box is run as a Python script. That means that we need to use print(...)
if we want to see any output.
One convenient option for interactively running Python code in the cloud is Colab by Google Research. You can sign in with any Google account (since Google is managing university email, you can use your university account). Perform your first computation by entering something like "1+2" and pressing Shift+Enter.
Here are some other things to try:
- The following code plots sine versus a quadratic interpolation:
from numpy import linspace, pi, sin from scipy import interpolate import matplotlib.pyplot as plt xpoints = [0, pi/2, pi] ypoints = [sin(x) for x in xpoints] poly = interpolate.lagrange(xpoints, ypoints) xplot = linspace(0, pi, 100) plt.plot(xpoints, ypoints, 'o', xplot, sin(xplot), '-', xplot, poly(xplot), ':') plt.show()
- Interpolation using equally spaced points versus Chebyshev nodes:
from numpy import linspace, pi, cos from scipy import interpolate import matplotlib.pyplot as plt def f(x): return 1/(1+25*x**2) n = 5 xpoints = linspace(-1, 1, n) ypoints = [f(x) for x in xpoints] poly = interpolate.lagrange(xpoints, ypoints) xpoints2 = [cos((2*j+1)*pi/(2*n)) for j in range(n)] ypoints2 = [f(x) for x in xpoints2] poly2 = interpolate.lagrange(xpoints2, ypoints2) xplot = linspace(-1, 1, 100) plt.plot(xpoints, ypoints, 'o', xplot, poly(xplot), ':') plt.plot(xpoints2, ypoints2, 'o', xplot, poly2(xplot), ':') plt.plot(xplot, f(xplot), '-') plt.show()
- We can construct a (natural) cubic spline and plot it together with the knots:
from numpy import linspace from scipy import interpolate import matplotlib.pyplot as plt xpoints = [1, 2, 4, 5, 7] ypoints = [2, 1, 4, 3, 2] spline = interpolate.CubicSpline(xpoints, ypoints, bc_type='natural') xplot = linspace(1, 7, 100) plt.plot(xplot, spline(xplot), '-', label='spline (natural)') plt.plot(xpoints, ypoints, 'o', label='knots') plt.legend() plt.show()
Other standard choices for the boundary conditionsbc_type
include 'not-a-knot' (the default) as well as 'clamped' and 'periodic' (this one requires the first and last point to have the same y-coordinates).Projects
If you take this class for graduate credit, you need to complete a project. The idea is to gain additional insight into a topic that you are particularly interested in. Suggestions for projects will be listed here at a later time.