arminstraub.com

Spring 2026: Linear Algebra II (Math 316)

Overview

Instructor
Dr. Armin Straub
MSPB 313
straub@southalabama.edu
(251) 460-7262 (please use e-mail whenever possible)
Office hours
MWF, 9-11am, or by appointment
Lecture
MWF, 8:00-8:55am, in MSPB 370
Midterm exams
The tentative dates for our two midterm exams are:
Monday, February 23
Monday, April 13
Final exam
Monday, May 4 — 8:00am-10:00am
Online grades
Syllabus

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, some 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
01/12 lecture01.pdf Homework Set 1: Problems 1-5 (due 1/26)
01/14 lecture02.pdf Homework Set 1: Problems 6-8 (due 1/26)
01/16 lecture03.pdf Homework Set 1: Problems 9-10 (due 1/26)
01/21 lecture04.pdf Homework Set 2: Problems 1-2 (due 2/2)
01/23 lecture05.pdf Homework Set 2: Problems 3-4 (due 2/2)
01/26 lecture06.pdf Homework Set 2: Problems 5-7 (due 2/2)
01/28 lecture07.pdf Homework Set 3: Problems 1-2 (due 2/9)
01/30 lecture08.pdf Homework Set 3: Problem 3 (due 2/9)
02/02 lecture09.pdf Homework Set 3: Problems 4-6 (due 2/9)
02/04 lecture10.pdf Homework Set 4: Problems 1-3 (due 2/18)
02/06 lecture11.pdf Homework Set 4: Problems 4-5 (due 2/18)
02/09 lecture12.pdf Homework Set 4: Problems 6-9 (due 2/18)
02/11 lecture13.pdf Homework Set 5: Problems 1-2 (due 2/23)
02/13 lecture14.pdf Homework Set 5: Problems 3-5 (due 2/23)
02/18 lecture15.pdf exam practice problems (as well as solutions) are posted below
02/20 review get ready for the midterm exam on 2/23 (Monday)
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.

Sage

For more involved calculations, we will explore the open-source free computer algebra system Sage.

If you just want to run a handful quick computations (without saving your work), you can use the text box below.

A convenient way to use Sage more seriously is CoCalc. This cloud service does not require you to install anything, and you can access your files and computations from any computer as long as you have internet. To do computations, once you are logged in and inside a project, you will need to create a "Sage notebook" as a new file.

Here are some other things to try:

  • Sage is happy to compute eigenvalues and eigenvectors. For instance, to solve Example 17 in Lecture 4:
    A = matrix([[4,0,2],[2,2,2],[1,0,3]])
    A.eigenvectors_right()
    
  • Sage makes solving least squares problems pleasant. For instance, to solve Example 48 in Lecture 9:
    A = matrix([[1,2],[1,5],[1,7],[1,8]])
    b = vector([1,2,3,3])
    (A.transpose()*A).solve_right(A.transpose()*b)
    
    The following is more advanced code to find values for $a, b, c$ that result in the quadratic curve $y = a + b x + c x^2$ that best fits the points $(0, 1), (1, 2), (2, 3), (3, - 4), (4, - 7), (5, - 12)$.
    points = [[0,1],[1,2],[2,3],[3,-4],[4,-7],[5,-12]]
    X = matrix([[1,xp,xp^2] for xp,yp in points])
    y = vector([yp for xp,yp in points])
    (X.transpose()*X).solve_right(X.transpose()*y)
    
    This shows that the best fitting quadratic curve is $y = \frac{3}{2} + \frac{179}{140} - \frac{23}{28} x^2$. We can plot it together with the points as follows:
    points = [[0,1],[1,2],[2,3],[3,-4],[4,-7],[5,-12]]
    scatter_plot(points) + plot(3/2+179/140*x-23/28*x^2,0,5,color='red')
    
    Similarly, we can compute the projection matrix from Example 55 in Lecture 11 as follows:
    A = matrix([[4,0],[0,2],[1,1]])
    A*(A.transpose()*A).inverse()*A.transpose()
    
  • Sage can compute QR decompositions. For instance, we can have it do Example 72 in Lecture 13 for us:
    A = matrix(QQbar, [[0,2,1],[3,1,1],[0,0,1],[0,0,1]])
    A.QR(full=false)
    
    The result is a tuple of the two matrices Q and R. If that is too much at once, A.QR(full=false)[0] will produce Q, and A.QR(full=false)[1] will produce R. (Can you figure out what happens if you omit the full=false? Check out the comment under "Variations" for the QR decomposition in the lecture sketch. On the other hand, the QQbar is telling Sage to compute with algebraic numbers (instead of just rational numbers); if omitted, it would complain that square roots are not available.)