Spring 2023: Linear Algebra II (Math 316)


Instructor Dr. Armin Straub
MSPB 313
(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:
Friday, February 17
Friday, March 31
Final exam Monday, May 1 — 8:00am-10:00am
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, 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/09 lecture01.pdf Homework Set 1: Problems 1-5 (due 1/23)
01/11 lecture02.pdf Homework Set 1: Problems 6-7 (due 1/23)
01/13 lecture03.pdf Homework Set 1: Problems 8-10 (due 1/23)
01/18 lecture04.pdf Homework Set 2: Problems 1-2 (due 1/30)
01/20 lecture05.pdf Homework Set 2: Problems 3-4 (due 1/30)
01/23 lecture06.pdf Homework Set 2: Problems 5-9 (due 1/30)
01/25 lecture07.pdf Homework Set 3: Problem 1 (due 2/6)
01/27 lecture08.pdf Homework Set 3: Problems 2-4 (due 2/6)
01/30 lecture09.pdf Homework Set 3: Problems 5-7 (due 2/6)
02/01 lecture10.pdf Homework Set 4: Problems 1-4 (due 2/13)
02/03 lecture11.pdf Homework Set 4: Problems 5-6 (due 2/13)
02/06 lecture12.pdf Homework Set 4: Problems 7-8 (due 2/13)
02/08 lecture13.pdf Homework Set 5: Problem 1 (due 2/20)
02/10 lecture14.pdf Homework Set 5: Problem 2 (due 2/20)
02/13 lecture15.pdf Homework Set 5: Problems 3-4 (due 2/20)
02/15 review get ready for the midterm exam on 2/17 (Friday)
exam practice problems (as well as solutions) are posted below
02/20 lecture16.pdf Homework Set 6: Problems 1-4 (due 3/3)
02/22 lecture17.pdf Homework Set 6: Problem 5 (due 3/3)
02/24 lecture18.pdf Homework Set 6: Problem 6 (due 3/3)
02/27 lecture19.pdf Homework Set 7: Problems 1-2 (due 3/17)
03/01 lecture20.pdf Homework Set 7: Problems 3-4 (due 3/17)
03/03 lecture21.pdf Homework Set 7: Problems 5-6 (due 3/17)
03/13 lecture22.pdf Homework Set 8: Problems 1-3 (due 3/24)
03/15 lecture23.pdf Homework Set 8: Problems 4-6 (due 3/24)
03/17 lecture24.pdf Homework Set 8: Problems 7-8 (due 3/24)
03/20 lecture25.pdf Homework Set 9: Problems 1-2 (due 3/31)
03/22 lecture26.pdf work through Example 145
03/24 lecture27.pdf Homework Set 9: Problems 3-7 (due 3/31)
03/27 lecture28.pdf work through exam practice problems
03/29 review get ready for the midterm exam on 3/31 (Friday)
exam practice problems (as well as solutions) are posted below
04/03 lecture29.pdf Homework Set 10: Problem 1 (due 4/14)
04/05 lecture30.pdf Homework Set 10: Problems 2-3 (due 4/14)
04/07 lecture31.pdf work through Examples 161, 162
04/10 lecture32.pdf Homework Set 11: Problems 1-2 (due 4/19)
04/12 lecture33.pdf Homework Set 11: Problems 3-5 (due 4/19)
04/14 lecture34.pdf Homework Set 12: Problem 1 (due 4/26)
04/17 lecture35.pdf Homework Set 12: Problem 2 (due 4/26)
04/19 lecture36.pdf Homework Set 12: complete! (due 4/26)
04/21 lecture37.pdf work through Example 185
04/24 lecture38.pdf finish all homework
04/26 review get ready for the final exam on 5/1 (Monday)
exam practice problems (as well as solutions) are posted below
04/28 review retake old midterm exams
lectures-all.pdf (all lecture sketches in one big file)

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.


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 This free 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 makes solving least squares problems pleasant. For instance, to solve Example 46 in Lecture 8:
    A = matrix([[1,2],[1,5],[1,7],[1,8]]); b = vector([1,2,3,3])
  • Sage can compute QR decompositions. For instance, we can have it do Example 71 in Lecture 13 for us:
    A = matrix(QQbar, [[0,2,1],[3,1,1],[0,0,1],[0,0,1]])
    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.)
  • 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]])
  • Sage can even compute general powers of a matrix. For instance, to solve Example 92 in Lecture 16:
    n = var('n')
    A = matrix([[6,1],[4,9]])
  • Similarly, Sage can compute matrix exponentials. For instance, to solve Example 126 in Lecture 23:
    t = var('t')
    A = matrix([[2,0,0],[-1,3,1],[-1,1,3]])
    exp(A*t) * vector([1,2,1])
  • Sage can also compute singular value decompositions. For instance, Example 158 (see lecture29.pdf) can be done (numerically) as follows:
    A = matrix(RDF, [[2,2],[-1,1]])
    The result is a tuple of the three matrices U, Σ and V. If that is too much at once, A.SVD()[0] will produce U, A.SVD()[1] will produce Σ, and A.SVD()[2] will produce V. (The RDF is telling Sage to compute with real numbers as floating point numbers with double precision; for other fields such as QQbar, the SVD is not currently implemented.)