Using Technology Offstage in Linear Algebra Courses
I have created Matlab-based instructional labs for three
linear algebra courses at Rutgers:
• An introductory undergraduate course (required for math, computer science, and
chemistry students
and taken as a technical elective by upper-level engineering students)
• A course for first-year graduate engineering students
• An upper-level undergraduate course emphasizing linear transformations, finite
Fourier transform, and
finite wavelet transforms (math, computer science, and engineering students)
The labs for the first and second courses use some of the T-codes developed for
the M.I.T. linear algebra
course. They have been revised several times over the last six years and have
been used by many faculty
members besides myself. I created the third course last year; in the current
semester I am teaching it again
and revising the lab assignments and accompanying lecture notes.
The labs use the Matlab computational environment to illustrate all the major
topics in the courses.
They are written so that the lecturer does not need to devote class time to the
labs. Because of this, faculty
having no experience or particular interest in the computational aspects of
linear algebra have been willing
to teach the Matlab sections of the introductory course and the graduate course.
A significant part of each lab assignment is the computational exploration
(using randomly-generated
matrices) of the linear algebra concepts presented in the lectures . At the
beginning of the interactive lab
session the student enters a personal identification number to seed the Matlab
random number generator;
this prevents sharing of lab reports. Students create diaries of their Matlab
sessions and write comments
to explain, from a theoretical standpoint, the numerical results that they have
obtained. Each assignment
also includes applied problems, so that students can see the power and range of
the linear algebra results
that they have been learning in class.
In each course the Matlab assignments are d one out of class and count for 25% of
the course grade (5
or 6 assignments). Details of Matlab programming (such as m-files) are included
so that students with no
prior Matlab experience can complete the assignments with a minimum of outside
help. Graders (upperlevel
undergraduates) are hired for each section of the two undergraduate courses;
with the help of a detailed
grading key and some initial assistance by the course instructors they grade the
lab writeups. Electronic
submission of assignments is not used because a large part of the grading is
based on free-form answers to
questions about the Matlab output, and graders write comments and queries on the
student’s paper. These
answers often involve (algebraic) hand calculation of the type the students use
on homework and exams.
Although students work on the Matlab assignments “offstage” (outside of class
time), the lab experience
reinforces the ideas presented in class and helps to bridge the gap between
theory and computation.
Student comments in the course evaluations consistently mention the Matlab
components of the courses
as outstanding features.
Math 250: Introduction to Linear Algebra
Text: Spence, Insel & Friedberg Elementary Linear Algebra: A Matrix
Approach
Enrollment: Roughly 50-50 split between Freshman-Sophomore Math,
Statistics, Computer Science,
Chemistry majors (required course) and Junior-Senior engineering students
(technical elective). Annual
enrollment (including summer sessions ) is 750-800 students in 31 small sections
(this is the only largeenrollment
math course that is still taught in small sections at Rutgers—New Brunswick).
Students choose
between 26 sections not using Matlab or other technology, and 5 sections using
Matlab. Both modes have
the same number of class meetings (28 eighty-minute periods), the same syllabus,
and carry 3 credit hours.
Two 80-minute mid term exams and a three-hour final exam.
LAB 1: Matrix and Vector Computations in Matlab
• Creating matrices and vectors
• Adding matrices and multiplying a vector by a matrix
• Finding the reduced row echelon form of a matrix
• Using matrices in the Leontief input-output economic model
LAB 2: Linear Equations and Matrix Algebra
• Solving a system of linear equations by the reduced row echelon form
• Forming linear combinations of a set of vectors and testing for linear
independence
• Matrix multiplication and its properties
• Application of Adjacency Matrices to Communication Networks
LAB 3: LU Decomposition and Determinants
• LU decomposition of an invertible matrix A
• Solving Ax = b using the LU decomposition
• Computation time to solve Ax = b by Gaussian elimination and by LU
decomposition
• The determinant of a matrix: effects of row ope rations and matrix
multiplication, and efficient calculation
by the LU decomposition
• The geometric properties of matrices for rotations, dilations, and shears
LAB 4: General Solution to Ax = b
• The column space Col(A)
• The null space Null(A)
• Particular solutions to Ax = b
• The complete solution of Ax = b
• Application of the theory of inhomogeneous linear equations to a traffic f low
problem
LAB 5: Eigen values and Eigenvectors
• Geometric meaning of eigenvalues and eigenvectors
• Determination of eigenvalues and eigenvectors using the characteristic
polynomial
• Use of eigenvectors to transform a matrix to diagonal form
• Steady-state eigenvector for a transition matrix
• Applications of eigenvalues and eigenvectors to Markov chains
LAB 6: Orthonormal Bases, Orthogonal Projections, and Least Squares
• Geometric aspects of vectors — norm, dot product, and orthogonal projection
onto a line
• Gram-Schmidt Algorithm
• Orthogonal projection of a vector onto a subspace
• Best approximate solution to an inconsistent linear system Ax = b
• Method of least squares for fitting straight lines and parabolas to data
points
Math 550: Linear Algebra and Applications
Text: Gilbert Strang, Linear Algebra and its Applications
Enrollment: First-year graduate engineering students (predominantly
computer & electrical engineering).
It has 28 eighty-minute classes and 3 credit hours. One 80-minute midterm exam
and a three-hour final
exam.
There are five Matlab assignments in this course:
LAB 1: Gaussian Elimination, LU Factorization, and Solving Ax = b
LAB 2: Orthogonal Projections, the Four Fundamental Subspaces, QR Factorization,
and
Inconsistent Linear Systems
LAB 3: Determinants, Eigenvalues, and Eigenvectors
These three labs are similar to the Math 250 labs covering the listed
topics—additional items are:
• The four fundamental subspaces associated with a matrix
• QR matrix factorization
• Determinant formula for the inverse of a matrix
The fourth and fifth labs cover topics not in the Math 250 course:
LAB 4: Unitary Diagonalization of Matrices, QR Algorithm, Finite Fourier
Transform, and
Fast Fourier Transform
• Diagonalization of hermitian and normal matrices by unitary matrices
• QR algorithm for fast computation of eigenvalues
• Fourier matrix and Fourier basis for Cn
• Diagonalization of circulant matrices by the Fourier matrix
• Fast Fourier transform
LAB 5: Positive-Definite Matrices, Cholesky Factorization, Singular Value
Decomposition,
and Digital Image Processing
• Tests for positive -definiteness of a real symmetric matrix
• Cholesky factorization of a positive-definite matrix
• Singular value decomposition (SVD)
• Digital image processing using the SVD
Math 357: Topics in Applied Algebra
Texts:
S. Leon: Linear Algebra with Applications (chapters 3-5)
A. Jensen & A. la Cour-Harbo: Ripples in Mathematics: The Discrete Wavelet
Transform
R. Goodman: Discrete Fourier Transform and Wavelet Transforms (lecture notes)
Enrollment: Junior-senior math, computer-science, and engineering
students. The prerequisites are the
Math 250 course and multi variable calculus . No advanced calculus or real
analysis is required. This course
is a technical elective for engineering students (as an alternative to the
theoretically-oriented second linear
algebra course offered by the department). It has 28 eighty-minute classes and 3
credit hours. Two 80-minute
midterm exams and a three-hour final exam.
There are five Matlab assignments in the course, and more emphasis is placed on
the applications to
signal processing and image analysis.
LAB 1: Visualizing Linear Transformations
• Encoding two-dimensional polygonal figures as matrices
• Rotations, dilations, and shearing transformations
• Homogeneous coordinates and affine transformations
LAB 2: Convolution and Finite Fourier Transform
• Fourier matrix and Fourier basis for Cn
• Applications of the finite Fourier transform—touch-tone dialing and the
spectrum of a train whistle
• Discrete periodic signals and convolution—diagonalization of circulant
matrices
• Fast Fourier transform
LAB 3: Haar Wavelet Transform
• Haar wavelet basis, the Haar analysis matrix, and the Haar synthesis matrix
• Fast Haar transform implemented by lifting
• Applications of the Haar transform—analysis of synthetic signals, filtering
and compressing a noisy
signal
LAB 4: Implementation of Wavelet Transforms
• The CDF(2,2) wavelet transform (matrix version)
• The Daub4 wavelet transform (matrix version)
• Fast Daub4 wavelet transform
• Multiresolution analysis using the CDF(2,2) wavelet transform—analysis of
synthetic signals, filtering
and compressing a noisy signal
LAB 5: Wavelet Analysis of Two-Dimensional Images
• Two-dimensional discrete wavelet transform
• Multiscale analysis of images
• Fast two-dimensional wavelet transform
• Denoising and compressing images by wavelet methods