Course:  Math 170A

Title:  Introduction to Numerical Analysis: Linear Algebra

Lecture:  MWF 9:00--9:50am in Center 101

Discussion Sections:
A01: Thursday 6:00--6:50 pm, APM 6402 with Muhan Zhao
A02: Thursday 7:00--7:50 pm, APM 6402 with Muhan Zhao
A03: Thursday 7:00--7:50 pm, APM 2402 with Tian Qiu
A04: Thursday 8:00--8:50 pm, APM 2402 with Tian Qiu
A05: Thursday 8:00--8:50 pm, APM 5402 with Xuyu Zhang
A06: Thursday 9:00--9:50 pm, APM 5402 with Xuyu Zhang

Contact Information and Office Hours:

Instructor: James Dilts    Email: jdilts AT ucsd DOT edu
Office Hours: M 7:45-8:45am, F 10am-12pm in SERF 383

Teaching Assistant: Muhan Zhao    Email: muz021 AT ucsd DOT edu
Office Hours: Th 3:30-5:30pm in AP&M 6446
Teaching Assistant: Tian Qiu    Email: tiq011 AT ucsd DOT edu
Office Hours: M 3:30-4:30pm, W 3:30-4:30pm in AP&M 2313
Teaching Assistant: Xuyu Zhang    Email: xuz131 AT ucsd DOT edu
Office Hours: T 3:40-4:40pm, F 12pm-1pm in AP&M 6414

Credit Hours: 4 units

Prerequisite: Math 18: Linear Algebra

Catalog Description: Analysis of numerical methods for linear algebraic systems and least squares problems. Orthogonalization methods. Ill conditioned problems. Eigenvalue and singular value computations. Knowledge of programming recommended.


  • Fundamentals of Matrix Computations, 3rd edition by David Watkins. Reading is REQUIRED. (The differences from the 2nd edition are mostly in parts of the book we will not cover. However, I will be assigning homework problems from the book, without comparing the two editions.)
  • I-clicker 2: We will use these daily. I will not be using Reef.

Course Outcomes: By the end of the course, you should be able to show understanding and mastery of the subject material

  • by performing calculations, including knowing which tools to use in which circumstances
  • by writing MATLAB programs to perform these calculations
  • by clearly explaining concepts, processes, definitions and theorems
  • by proving some results related to the material.
For this course, the main subject material is
  • Solving Ax=b type problems (triangular systems, Cholesky decomposition, banded/sparse systems, Gaussian elimination with and without pivoting, LU decomposition, QR decomposition, iterative methods [steepest descent, conjugate-gradient, etc.])
  • Understanding the theory behind computation (rounding errors, sensitivity, condition numbers, backward error analysis, backward stability)
  • Least squares problem (Gram-Schmidt, orthogonal matrices, QR decomposition)
  • Basic iterative solving for eigenvalues (power method and simple extensions)
  • Singular value decomposition

In addition, students should improve their ability to learn mathematics from a textbook and to explain mathematics to others.

I will focus my teaching, homework and tests on these subjects and outcomes.

How this course will be run: For your benefit, this course will not be run in a traditional lecture format. Here is how a usual pre-lecture, lecture and post-lecture will proceed.

  • Pre-lecture: You will read the sections to be covered for the lecture. Some tips for reading are below, and you are responsible for material in the assigned reading whether or not it is discussed in the lecture. (Though, if we do not mention it in lecture, and don't have any homework or discussion questions on it, it is most likely not on the test.)

    Before lecture, you will complete a short reading quiz on TritonED. These quizzes will count as a small part of your grade and will have infinite tries. These questions are meant to be fairly easy, to check if you did the reading, and to find potential misunderstandings you have.

  • Lecture: Lecture will be fairly standard, except that it will include several questions about the covered material. You will discuss these questions and ideas with other students. iClickers will be used for these questions, and will count for a small portion of your grade. The grade is 3/4 participation, and I will drop a few lectures's worth.

    I may NOT cover the entire section. If you do not do the reading, the lecture may not cover everything you need to know, since I will assume that you have at least a cursory understanding of the material in the textbook.

  • Post-lecture: You will complete homework and discussion section problems on the material from class and the textbook.

Tips for reading:

  • Reading a math textbook is not like reading a history textbook. A quick read-through will do very little, if anything, for you. You need to understand each paragraph before continuing on. Your understanding will increase as you spend time thinking about what you read.
  • The language and terms used are important! An important part of learning the math is learning the terms used, their definitions, why those definitions were chosen, and the idea behind the terms. This is also incredibly important when trying to communicate and explain math. Language is a huge part of mathematical thinking.
  • Allow yourself plenty of time. When I read new math, I expect to spend an average of 15 minutes a page, though sometimes it can take much longer than that.
  • Remove distractions. Turn off your cell phone. Turn off your computer. Hide in the corner of the library. Even short distractions ruin your focus. Research shows that multitasking does not work, and, in fact, those who think they are better at it are actually worse at it.
  • If you continue to have difficulty understanding the material after spending time trying to read and understand it on your own, my office hours and the TAs' office hours are a good way to get additional help.

Discussion sections: Discussions are mandatory Discussion sections will not be a time to ask questions about the homework, as they are in most classes. Instead, you will work in groups on assigned problems. Partly, this is to help prepare you for the homework. they will be run as follows:

  • You will be split, more or less at random, into groups of 3-4.
  • You will be assigned the roles of manager, skeptic and recorder. These roles will be explained on the assignment sheets.
  • You will work as a group on assigned problem(s) from sections we have covered in class on the previous two lectures. Make sure you are prepared to contribute on that material.
  • Your group's answer for one of the questions will be written down and submitted to by the end of the section. (Bring your cellphone to submit, and make sure you add each person's name on Gradescope, not just the paper.)
  • The grade is half participation. Thus, an answer that gets 7/10 points is of a quality that would get 2/5 points on an exam.
  • These assignments will be a small portion of your grade.

MATLAB: MATLAB (from "matrix labratory") is a programming language and numerical computing environment often used in applied mathematics and other applications. Many assignments (and even test questions) will be to write short programs for MATLAB. There are four main ways to get access to MATLAB.

  • UCSD students can download it for free from this link.
  • In the basement of AP&M there are computer labs with Matlab installed on all the computers.
  • You can use a UCSD virtual computer lab (from home or anywhere). You log in with your UCSD credentials. Info here.
  • You can buy a student copy of the software at the bookstore for $99.
  • You can download the free open source version called Octave. Warning, while Octave and MATLAB are designed to be compatible, there are differences, and Octave is at least marginally slower. If you join a project/company that uses one of these tools, you will need to use the one they use. More places use MATLAB than Octave. However, Octave is free, as part of the GNU project, which can be an advantage.
We will do some basic MATLAB programming in this course. While we will talk about the MATLAB specific programming details during class, I will expect that you know some programming basics, including what a "for loop" is. (The for loop is about the most complicated programming concept we'll use, but fortunately it's not too complicated.) If you are not comfortable with what a for loop is, or want a review of basic programing in MATLAB, I have included a short review of programing basics in MATLAB in this file.

Calculators: A calculator is not needed or expected for this class. If you do want to do calculations, MATLAB will be able to do them. Note: The use of calculators will not be permitted during exams.

iClicker: iClickers are required for this class. We will use them daily. Make sure to register your clicker on via tools => i>clicker Student Registration.

Gradescope: All standard homework assignments will be turned in via

  • Your login is your university email, and your password can be changed here. The same link can be used if you need to originally set your password.
  • Assignments should be in a single pdf file before being uploaded, or as a picture for each question.
  • Please make sure your files are legible before submitting.
  • Most word processors can save files as a pdf.
  • There are many tools to combine pdfs, such as here, and others for turning jpgs into pdfs, such as here.
  • All grading, including the midterm and final, will be done on Gradescope. Regrade requests must be sent via Gradescope.
  • If you have not yet been added to the course, the Gradescope entry code is MD5K7D.

Homework: Homework exercises will be assigned each Monday on the course homework page and they are due on the subsequent Monday by 9 am, i.e., before class. All homework will be submitted via

The organization of the assignments will be as follows: At the top of each will be some problems, usually easier ones. These problems will be graded for completion. The three main problems will be graded for correctness. In addition, some extra problems may be listed. These are optional, but may be helpful for you to understand the material.

Midterm Exams: We will have two midterm exams, given on October 23rd and November 13th during class (see the course calendar). No calculators will be allowed during the midterm exams. You may bring one 3"x5" notecard with as many notes as you can write onto it. Students will not be allowed to take makeup midterm exams. If you will miss an exam for an excellent reason, please contact me as soon as possible so that we can make arangements.

Final Exam: The final exam will be held at the following time:

  • 8:00am--10:59am Wednesday, December 13th (See the course calendar.)
No calculators will be allowed during the midterms or during the final exam. You again get ONE 3"x5" card.

Grading: Assignment grades will be posted on Gradescope and/or TritonED. Your term grade will be based on the scores of the homework, iClicker questions, discussion sections, two midterms and one final exam. Your term grade will be the highest of the following:

  • (5% iClicker) + (5% reading quizzes) + (5% discussions) + (20% HW) + (17.5% Midterm 1) + (17.5% Midterm 2) + (30% Final)
  • (5% iClicker) + (5% reading quizzes) + (5% discussions) + (20% HW) + (20% best Midterm) + (5% worst Midterm) + (40% Final)
I will not determine a curve until after the final exams have been graded.

Academic Dishonesty: Academic dishonesty is considered a serious offense at UCSD. Students caught cheating will face an administrative sanction which may include suspension or expulsion from the university. It is in your best interest to maintain your academic integrity.

Accomodations: Students with special needs or disabilities must provide an Authorization for Accommodation (AFA) letter issued by the Office for Students with Disabilities (OSD) as soon as possible. Please call OSD at 858-534-4382 or visit for more information