ACM/IDS 104
Applied Linear Algebra
Syllabus
[pdf]
Lectures |
Tue &
Thu at 10:30am-11:50am in Kerckhoff 125 |
Instructor |
|
Office |
Annenberg 114 |
Email |
kostia@caltech.edu
(please include “104” in the subject line) |
Office Hour |
Thu 2pm-3pm, or by appointment (please,
send an email to schedule) |
Head TA |
Kieran Vlahakis (kierangio@caltech.edu)
|
TAs and OHs |
|
Coure Description
This is an intermediate linear algebra
course aimed at a diverse group of students, including sophomores
in applied and computational mathematics, computer science, and
information and data sciences, as well as graduate students in science
and engineering. The main goal of the course is to provide an introduction
to the fundamental ideas, concepts, and methods of applied linear
algebra and illustrate them with important applications. Topics
covered include linear systems, vector spaces and bases, fundamental
matrix subspaces, inner products, norms, k-means algorithm, positive-definite
and Gram matrices, application to text classification, least squares
solutions and applications to data fitting, orthogonality, the QR
factorization, eigenvalues and eigenvectors, the Gerschgorin theorem,
the Perron-Frobenius theorem, the PageRank algorithm, the spectral
theorem, optimization principles for eigenvalues, principal component
analysis, spectral method for graph partitioning, and singular value
decomposition with its applications.
|
Prerequisites
• Ma 1 abc.
• Some familiarity
with MATLAB, e.g. ACM 11, is desired.
|
Textbooks
I will provided
a set of comprehensive Lecture
Notes.
• P.J. Olver & C. Shakiban, Applied Linear Algebra
(covers ~ 2/3 of the course)
• N. Johnstan, Advanced Linear Algebra
|
Course Plan
The following is a detailed
tentative outline of the topics to be covered this term.
• Linear systems, Gaussian elimination, PLU factorization.
• Vector spaces, spans, bases, independence, dimension, fundamental
matrix subspaces
• Inner products, norms, Cauchy-Schwarz and triangle inequalities
• Application: the k-means algorithm for clustering
• Positive definite matrices, Gram matrices, application to
text classification
• Minimization of general quadratic functions, least square
solutions
• Application: least squares for data fitting, interpolation,
and approximation
• Orthogonality, the Gram-Schmidt process, the QR factorization,
projections
• Eigenvalues, eigenvectors, eigenbases, the Gerschgorin theorem
• Application: the PageRank algorithm for ranking websites
• Diagonalization, symmetric matrices, spectral theorem, optimization
principle for eigenvalues
• Application: principal component analysis
• Application: the spectral method for graph partitioning
• Singular values and vectors, singular value decomposition,
condition number, pseudoinverse
• Applications of SVD to image compression and best rank-k approximation
• Applications of SVD to political science (analysis of senators’
voting records) and facial recognition (eigenfaces)
|
Practice
Problems
Each lecture will be accompanied
by two Practice Problems: a somewhat easier, more practical Problem
A, and a more difficult, more conceptual Problem B. The main goal
of the practice problems is threefold: to help you better understand
the material covered in the corresponding lecture, to help you prepare
to solve problems in problem sets and exams, and to accommodate
the diversity of students’ math backgrounds by providing both
easier and more challenging problems. These problems are for self-practice:
they will not be graded, and the solutions (posted on Piazza)
also illustrate the expected level of rigor for problem sets and
exams.
|
Grading
Your final grade will be based on
your total score. Your total score is a weighted average of Problem
Sets (60%), Midterm exam (20%), and Final exam (20%). You can increase
your total score by up to 5% if you participate actively in Piazza
discussions in the Q&A
section. Every answer submitted before TAs or instructor answer,
which is later endorsed as a “good answer” by TAs or
instructor, gets 1% of the total score. There are no fixed thresholds
for grades, but if your total score is 90% (80%, 70%, 60%), then
you are guaranteed at least “A” (“B”, “C”,
“D”). If you are interested in being a TA next year,
try to be active on Piazza and help other students by answering
their questions.
Problem
Sets |
60% |
Midterm |
20% |
Final |
20% |
|
Problem Sets
There will be six Problem Sets.
Problems (and solutions) will be posted on Piazza.
For assignment and due dates see “Important
Dates” below. Late submissions will not be accepted
for any reason,
but the Problem Set with the lowest score will be dropped and not
counted toward your total score. Submitting wrong files or files
in a wrong format is considered as a late submission. Extensions
may be granted for academic, personal, or medical reasons. For extensions,
please email the Head TA.
|
Exams
There will be two
exams: Midterm (based on Lectures 1-8) and Final (based on Lectures
9-17). The Head TA will provide a review session before each exam.
Both exams are take-home, self-timed, and closed-book, but you
can use one sheet (double-sided) of your own notes. You can use
your electronic devices only for typing and for basic arithmetic
operations. |
Ethical Use of AI
You can use AI tools
(e.g., ChatGPT) to support your learning in this course, but only
in ethical and responsible ways. For example, it is fine to use
AI to generate a practice exam based on the topics covered in
the course. However, using AI to directly solve your problem sets
or exams, to give you hints, or check your solutions for correctness
is not allowed, as it undermines your learning and violates Caltech's
Honor
Code. When in doubt, ask yourself: would it be acceptable
for a tutor to do this for you? If not, then it is also not appropriate
to ask an AI to do it. Most importantly, keep in mind that you
are here to train your own neural network, not the artificial
one. |
Collaboration Policy
Here is
a detailed collaboration
policy. In general, collaboration is encouraged everywhere
except for the
exams. Let’s help each other and learn together! If
you get stuck with a homework problem, I encourage you to discuss
it with other students (offline or online on Piazza).
But remember that you will have to prepare and submit your solution
by yourself. No collaboration is allowed on the exams.
|
Important
Dates
|
Available |
|
|
Problem
Set 1 |
1pm
Tue, Oct 07 |
9pm
Tue, Oct 14 |
Problem
Set 2 |
1pm
Tue, Oct 14 |
9pm
Tue, Oct 21 |
Problem
Set 3 |
1pm
Tue, Oct 21 |
9pm
Tue, Oct 28 |
Head TA
Review |
10:30am
Tue, Oct 28 |
|
Midterm
Exam |
1pm
Tue, Oct 28 |
9pm
Tue, Nov 04 |
Problem
Set 4 |
1pm
Tue, Nov 04 |
9pm
Tue, Nov
11 |
Problem
Set 5 |
1pm
Tue, Nov
11 |
9pm
Tue, Nov
18 |
Problem
Set 6 |
1pm
Tue, Nov
18 |
9pm
Tue, Nov
25 |
Head TA
Review |
10:30am
Thu, Dec 04 |
|
Final Exam
|
1pm
Thu, Dec 04 |
9pm
Thu, Dec 11 |
Websites
• Course
Website (this page)
• Piazza
Page
Lecture notes, practice problems, problem sets, exams,
solutions, announcements, and class discussions will
be managed via Piazza, which is designed such that you
can get a quick help from your classmates, TA(s), and
instructor. Instead of emailing questions to the teaching
staff, I encourage you to post your questions on Piazza
because a) you will get the answers faster and b) your
classmates may also benefit from seeing the answers
to your questions.
• Problem sets and exams will be graded via Gradescope.
To submit your solution via Gradescope, your need to
create a single PDF (not images) that contains the whole
solution, and then upload it to Gradescope. Here is
a useful link: How
can I submit my homework as a PDF?
—
If you a registered student, you will
be enrolled on Gradescope by the end of the 1st week
of classes, and you will receive a notification from
Gradescope about your enrollment (please make sure that
the email that you use on Gradescope is your official
Caltech email).
— If you are a registered student,
but have not been enrolled on Gradescope by the end
of the 1st week of classes, please email the Head TA
as soon as possible and ask to enroll you to Gradescope.
Your absence on Gradescope means that, according to
my records, you are not registered for the course.
— If you want just to audit the course,
it is fine, you will have access to Piazza and all course
materials there (please email me and I will enroll you
on Piazza), but you will not have access to Gradescope
and your submissions will not be graded. If you audit
the course this year, you should not register for the
course in the future.
|
Suggested Study Process
To get the
most out of ACM 104, here is my suggested study process:
• Have
Enough Sleep: Good sleep is an important prerequisite
for learning.
• Attend
Lectures: Focus on understanding the big picture of
what is going on.
• Review
Lecture Notes: Ideally on the same day they are released,
make sure everything is clear.
• Ask
and Answer Questions: If something is not clear, ask
on Piazza, and help your classmates by answering their
questions.
• Summarize
in Your Own Notes: After each lecture, very briefly
summarize my notes, extract the essence.
• Work
on Practice Problems: Attempt to solve the practice
problems and review my solutions.
• Attend
Office Hours: Interact with the instructor, TAs, and
other students.
• Start
Early: Begin each problems set on the day it is released
(or as soon as possible after that).
• Finish
Early: Aim to complete each problem set and exam at
least one day before the deadline.
• Stuck?
Ask for Help: If you get stuck on a problem, ask for
hints on Piazza (unless it is an exam problem ;-))
|
Keep in Mind
My goal is
to help you understand and learn the material. Understanding
is a creative process that takes time and effort. If you
do not understand something, please ask me. If you are
struggling to balance the workload, talk to me. If you
have any concerns, let me know. Keep in mind that I am
here to help.
|
Honor Code
You
must conform to the Honor
Code:
“No member of the Caltech community shall take
unfair advantage of any other member of the Caltech community.” |
|
Tasks
for Week 1:
a)
Install MATLAB from Caltech
IMSS.
b) Self-study: Introduction to MATLAB [zip]
|
|