EE103: Course Information


Tuesdays and Thursdays, 9am–10:20am, Hewlett 200.


The sections will meet weekly starting the week of October 2. Sections will be 2 hours long, with the first hour spent on problem solving and Julia programming, and the remaining time used as office hours.

  • Mark Nishimura: Tuesday 2:30pm - 4:30pm, in Herrin T195.

  • Trisha Jani: Tuesdays, 3:30pm - 5:30pm, in Littlefield 103 (L103).

  • John Sholar: Tuesdays, 6:00pm - 8:00pm, in Herrin T195.

  • Sean Chang: Tuesdays, 7:00pm - 9:00pm, in Herrin T185.

  • Reese Pathak: Wednesdays, 10:30am - 12:30pm, in STLC 118.

  • Logan Spear: Wednesdays, 2:30pm - 4:30pm, in STLC 118.

  • Neal Patel: Wednesdays, 3:30pm - 5:30pm, in Herrin T195.

  • Caitlin Go: Wednesdays, 6:00pm - 8:00pm, in Herrin T195.

  • Juliet Daniel: Wednesdays, 7:00pm - 9:00pm, in Hewlett 103.

  • Lucy Li: Thursdays, 10:30am - 12:30pm, in Green Earth Sciences Building 150 (GESB 150).

  • Jonathan Lin: Thursdays, 2:30pm - 4:30pm, in Herrin T195.

  • Anthony Degleris: Thursdays, 3:30pm - 5:30pm, in Herrin T185.

  • Sofia Jimenez: Thursdays, 6:00pm - 8:00pm, in Herrin T185.

  • Guillermo Angeris: Thursdays, 7:00pm - 9:00pm, in Herrin T195.

Office hours

Stephen Boyd's office hours: Tuesdays 10:20am–11:50pm, Packard 254.

David Tse's office hours: Thursdays 1:00pm - 3:00pm, Lathrop 282 (alongside homework party).

Homework party: Thursdays 1:00pm - 5:00pm, Lathrop 282. The homework parties will be supervised by David Tse and Govinda Kamath. The first homework party will be held on Thursday, 10/5.

TA office hours: The TAs’ office hours will be folded into the last hour (or so) of the weekly sections.


The textbook is a draft that is being written by Stephen Boyd and Lieven Vandenberghe. It is posted on-line, and updated every so often as they edit it. You will not need to consult any other books or materials (though you are welcome to do so).

Course requirements and grading


  • Attendance at lectures.

  • Attendance and participation at sections.

  • Weekly homework assignments. Homework will normally be assigned each Friday, and due the following Friday by 5pm. Late homework will not be accepted.

  • Midterm exam. The miderm will be in class, Tuesday October 24, 9am–10:20am.

  • Final exam. The final exam is scheduled for Wednesday December 13, 8am–11am.

Grading: Attendance/participation 5%, homework 30%, midterm exam 25%, final exam 40%.


You do not need to have seen any linear algebra before; we will develop it from scratch. Math 51 is nominally a prerequisite, but we will use very little of this material. In the course you'll do some very simple programming in the language Julia, so you should have seen some very basic simple programming. CS106A or equivalent (which is more than you will need) is a prerequisite or corequisite. You do not need to know about any applications; we'll cover that in detail. Even if you have already seen all the material in the course (e.g., vectors, matrices, least-squares) we encourage you to take it, because (we guess) you haven't seen it the way we will present it.



Topics: Vectors, inner product, norm, distance, RMS value, angle, mean, standard deviation; k-means algorithm.

Applications: Audio mixing, monochrome and color images, time series, feature vectors, document analysis via word counts, asset returns.

Linear independence

Topics: Dependent and independent sets of vectors, basis, orthonormal sets of vectors, independence-dimension inequality, Gram-Schmidt algorithm.


Topics: Matrices, transpose, matrix-vector multiplication, linear and affine functions, systems of linear equations.

Applications: Word count matrices, feature matrices, polynomial interpolation, stoichiometry, linear dynamical systems (population dynamics, ballistics), image blurring, tomography.

Matrix multiplication

Topics: Matrix-matrix multiplication, composition of linear and affine functions, matrix powers, QR factorization.

Applications: Linear dynamical systems, counting paths in graphs.

Matrix inverses

Topics: Left and right matrix inverses, matrix inverse, solving linear equations via QR factorization, pseudo-inverse.

Applications: Polynomial and rational interpolation, ballistics targeting, balancing chemical equations.


Topics: Basics ideas of least-squares methods, solving least-squares problems using QR factorization, data-fitting, validation.

Applications: Fitting 1-D data with a constant, affine function, or polynomial. Regression, auto-regressive time series models, robust ballistics targeting, least-squares classification.

Multi-objective least-squares

Topics: Multi-objective least-squares via weighted sums, regularization.

Applications: Image deblurring, tomography, handwritten digit classification, time series analysis and prediction, image in-painting.

Equality constrained least-squares

Topics: Equality constrained least-squares, least-norm problem, solution methods.

Applications: Portfolio optimization, control, dynamic system estimation.

Catalog description

Introduction to applied linear algebra with emphasis on applications. Vectors, norm, and angle; linear independence and orthonormal sets; applications to document analysis. Clustering and the k-means algorithm. Matrices, left and right inverses, QR factorization. Least-squares and model fitting, regularization and cross-validation. Constrained and nonlinear least-squares. Applications include time-series prediction, tomography, optimal control, and portfolio optimization. Prerequisites: MATH 51 or CME 100, and basic knowledge of computing (CS 106A is more than enough, and can be taken concurrently).

EE103 is part of the EE and MS&E core requirements, approved for the CS BS Math Elective and the Mathematics & Statistics requirement in the School of Engineering, and certified as a Ways of Thinking (Formal Reasoning) course.

EE103/CME103 and Math 104 cover complementary topics in applied linear algebra. The focus of EE103 is on a few linear algebra concepts, and many applications; the focus of Math 104 is on algorithms and concepts.

Course objectives

The goal of this course is to introduce you to the basic ideas of vectors, matrices, and (very basic) linear algebra, emphasizing applications. We hope that you'll learn how linear algebra is all around you, and how it is used in zillions of applications. You'll learn some basic machine learning, portfolio optimization and finance, audio and image processing, and other applications.

Intended audience

The course will ultimately be targeted at undergraduate students in all fields, just as CS106a is. But for now (until we shake the course out) we are targeting students with a little more background in math, CS, and related areas.