MATH 313 (Spring 2009)

Instructor's contact information

Michael Robinson
3C5 David Rittenhouse Lab
robim at math (dot) upenn {dot} edu
Office hours: Tuesdays 2-3pm, Wednesdays 11am-12pm, or by appointment
Supplemental office hours: Thursday, 30 April: 10am-12pm and Monday, 4 May: 10am-12pm
My research website
Feel free to contact me with any questions (course-related or not)

Quick Links

Course description
Homework assignments
Course schedule
Concerning programming in this course
Information about exams
Some useful links
Course policies

Course description

Many important problems in a wide range of disciplines within computer science and throughout science are solved using techniques from linear algebra. This course will introduce students to some of the most widely used algorithms and illustrate how they are actually used.

Some specific topics: the solution of systems of linear equations by Gaussian elimination, dimension of a linear space, inner product, cross product, change of basis, affine and rigid motions, eigenvalues and eigenvectors, diagonalization of both symmetric and non-symmetric matrices, quadratic polynomials, and least squares optimazation.

Applications will include the use of matrix computations to computer graphics, use of the discrete Fourier transform and related techniques in digital signal processing, the analysis of systems of linear differential equations, and singular value deompositions with application to a principal component analysis.
The ideas and tools provided by this course will be useful to students who intend to tackle higher level courses in digital signal processing, computer vision, robotics, and computer graphics.

The course textbook is
Gilbert Strang, Introduction to linear algebra, Third edition, Wellesley-Cambridge, 2003.


Homeworks should be submitted by the listed date and time, by sliding them under my office door or handing them to me in person. Late assignments will not be accepted. If you work with others, please submit your own copy independently from the others.

Homework 1, Due Friday, 23 January 2009 at 1pm.

Homework 2, Due Friday, 30 January 2009 at 1pm.
Homework 3, Due Friday, 6 February 2009 at 1pm.
Homework 4, Due Friday, 13 February 2009 at 1pm.
Homework 5, Due Friday, 20 February 2009 at 1pm.
Homework 6, Due Friday, 27 February 2009 at 1pm.
Homework 7, Due Friday, 20 March 2009 at 1pm.
Homework 8, Due Friday, 27 March 2009 at 1pm.
Homework 9, Due Friday, 3 April 2009 at 1pm.
Homework 10, Due Friday, 10 April 2009 at 1pm.
Homework 11, Due Friday, 17 April 2009 at 1pm.
Homework 12, Due Friday, 24 April 2009 at 1pm.

Course schedule

The course meets every Tuesday and Thursday 3pm-4:30pm in David Rittenhouse Lab room 3C2.
Below is a listing of topics (and links to course notes if they exist) that we will cover...

15 January: Sections 1.1-1.2. Introduction to vectors
20 January: Sections 2.1-2.2. Vectors, linear equations, and elimination
22 January: Section 2.3. Matrix elimination
27 January: Section 2.4. Elementary matrix operations
29 January: Section 2.5. Matrix inversion
3 February: Section 2.6. Factorization and elimination
5 February: Section 2.7. Transposes
10 February: Section 3.1. Vector spaces
12 February: Section 3.2. The nullspace
17 February: Section 3.3. Rank and row reduction
19 February: Section 3.4. Solving Ax=b
24 February: Section 3.5. Independence, spanning, and dimension
26 February: Section 3.6. The dimension theorem
3 March: Review for the midterm exam
5 March: Midterm exam in class
10,12 March: spring break, no class
17 March: Sections 4.1-4.2. Orthogonality and projections
19 March: Section 4.3. Least squares
24 March: Section 4.4. Gram-Schmidt
26 March: Section 5.1. What is a determinant?
31 March: Section 5.2. Ways to compute determinants
2 April: Section 6.1. Introduction to Eigenvalues
7 April: Section 6.2. Diagonalization
9 April: Section 6.3. Applications to differential equations
14 April: Section 6.4. Symmetric matrices
16 April: Section 6.5. Positive definiteness
21 April: Section 6.6. Similarity
23 April: Section 6.7. Singular value decomposition
28 April: Review for the final exam
5 May: Final exam

General comments on software and programming in the course

Generally speaking, knowledge of the general techniques of programming is expected, but I don't expect you to know the specifics of any particular language at the beginning of the course. There will be some programming required on the homeworks -- so you will be expected to know some basic programming when the course finishes.

If you don't have a strong preference, I will suggest that you learn some Matlab or Octave. Matlab is available on the SAS computers in the on campus computer labs. I've heard that students can obtain Matlab relatively cheaply, though Octave is free to use. If you do have a strong programming language preference for another language, you may be permitted to use it, but you must contact me first about it early in the course.

Matlab or GNU Octave Tutorials

Some tutorial information will appear here.

Information about exams

For each exam, you will be permitted to bring one 3"x5" index card with handwritten notes on it. Electronic calculators will not be permitted. However, mechanical calculators (such as this or these) are fine. Sorry. I'm quirky that way!

Midterm exam was in class Thursday, 5 March 2009.
Final exam is 5 May 2009, 12-2pm, in DRL 3C2.

Relevant links

GNU Octave
Cleve Moler (the original author of Matlab) has written two books (Numerical computing with Matlab and Experiments with Matlab, freely available from the link), which serve as excellent introductions
Academic calendar
Schedule of classes being held in the DRL computer labs
Campus map

Course policies

The difference between MATH 313 and MATH 513

MATH 513 is cross-listed with MATH 313. They will have common lectures and common exams (the same problems). However, MATH 513 students will have to complete extra sets of problems for some of the homework assignments. These homework problems address some theoretical or practical aspects of the material that we don't have time to address in the class or the usual homework assignments.


You are generally expected to attend the lectures. Please contact me in advance if you cannot attend, especially in the case of the midterm exam. Late homework is not accepted, though the lowest two homework scores will automatically be dropped.


The course grade will be determined as follows:
40% Homeworks
25% Midterm exam
35% Final exam

Homework drop policy: The lowest two homework scores will automatically be dropped in the computation of the homework grade. Late homeworks will not be accepted, unless there is an official (University-approved) reason for doing so.

Academic dishonesty

Academic dishonesty is a serious offense. Read Penn's policies. As applied to this course, you may work together on homeworks, but the work you turn in must be your own. In so far as computer programs are concerned, you may not simply copy another student's program and put your name on it! In particular, I may ask you to explain or clarify sections of your program if I am unable to follow it. So please know what your program is doing!