Syllabus – Math 5316, Introduction to Matrix Computation, Spring 2019


Daniel R. Reynolds

Class and Office Hours:

Lecture: 142 Dallas Hall, Tu/Th, 9:30-11:50 am.

Office Hours: 139 Clements Hall, Tu/Th 1-2 pm, W 9-10 am and 1-3 pm, or by appointment (arrange by email).

Textbook (required):

D.S. Watkins, Fundamentals of Matrix Computations, Wiley, 3rd edition, 2010. (ISBN: 0470528338)

Course Description:

MATH 5316 – Introduction to Matrix Computation [3 credits]

The efficient solution of dense and sparse linear systems, least squares problems, and eigenvalue problems. Elementary and orthogonal matrix transformations provide a unified treatment. Programming is in MATLAB, with a focus on algorithms.

Prerequisites: C- or higher in MATH 3304 or MATH 3353; C- or higher in MATH 3315/CSE 3365 or MATH 3316.

Student Learning Objectives:

  • Math Major SLO 5: Students will be able to demonstrate fluency in the use of advanced tools or methods common to the field.


Computing assignments in this class must be written in either Matlab or Python (unless otherwise approved by the instructor). Students may switch between languages at their discretion, I only require that each computing problem be turned in once (in a single language).


Because SMU has a site license for Matlab, it may be installed for free on your personal computer (Windows, Mac or Linux) – information on the installation process, as well as relevant download links, are available at Matlab is also available on most public computers across campus.

I recommend that you use a more recent version of Matlab for your computations in this class (e.g., 2017a or newer), since they have worked to improve the speed of loop-based calculations (we’ll do lots of these in this class).

I require that Matlab programs be turned in as .m files (i.e., not as Live Scripts or Live Functions), so that they can be run in ‘batch mode’ for grading.


Similarly, Python is free and may be installed on any computer in a variety of ways. Popular Python distributions for Windows and OSX are Enthought Canopy Express and Anaconda. Be certain to install Python version 3.5 or higher so that your programs support the “@” operator for matrix-matrix and matrix-vector multiplication.

Python-based calculations in this class will require both the “Numpy” and “Scipy” packages, so you must ensure that these are installed within your distribution. All vectors and dense matrices in this class must be stored using one- and two-dimensional Numpy “ndarray” objects (we’ll also use sparse matrices based on other formats).

I require that Python programs be turned in as .py files (i.e., not as IPython or Jupyter notebooks), so that they can be run at the OS X / Linux command line.


Reading the assigned sections of the textbook is required, and will be necessary for completing each homework assignment. You are responsible for all of the material in the assigned reading, whether it has been presented in the lecture or not.

The assigned readings for each section will be listed on the Reading page.


Homework will be assigned on the course Homework page. These will be due periodically throughout the semester, and will be comprised of both theoretical and computational work.

  • Computational portions of each assignment will be turned in electronically through Canvas. You must turn in all Matlab or Python scripts, functions, and input files required to run your code (including any files provided by the instructor).
  • Theoretical portions of each assignment will be turned in electronically through Canvas.

Each homework assignment is due by 5:00 pm on the specified date.

Late work will lose points based on the following schedule:

  • 1 minute to 24 hours – 20% deduction
  • 24 hours to 48 hours – 50% deduction
  • over 48 hours – no credit

These assignments will involve a substantial amount of work – I strongly recommend that you begin these when assigned and do not procrastinate.


We will have 2 in-class exams, the dates of which are posted on the course web page. The exam questions will be based off of the reading and homework. These exams will be non-cumulative, and will be open-book/open-notes, but calculators and other electronic devices are prohibited.

We will have a final exam during the regularly-scheduled exam period (5/9, 8:00 am). This will be cumulative, and will be open-book/open-notes, but again, calculators and other electronic devices are prohibited.


Your course grade will be determined using the following formula:

30% Homework

40% Mid-term exams

30% Final exam

If your final exam grade is higher than your lowest regular exam grade, then I will instead determine your grade using the formula:

30% Homework

20% Best mid-term exam

50% Final exam

This grading scheme is somehow too complex for Canvas to handle, so the overall grade shown in Canvas will be incorrect. As this is an upper-level Math course and I provide all numerical grades and the formula to you, I expect that you can determine your actual overall grade yourself. All final grades are assigned on a standard grading scale.

Honor Code:

The SMU Honor Code applies to all homework and exams in this course. Work submitted for evaluation must represent your own individual effort. Any giving or receiving of aid without my express consent on academic work submitted for evaluation shall constitute a breach of the SMU Honor Code.

I take honor code violations very seriously, and will report all violations to the SMU Honor Council. The minimum penalty for a violation is a “0” on the assignment, and the maximum penalty is immediate failure of the course. These penalties are in addition to those imposed by the SMU Honor Council.

While all work submitted must represent your own individual effort, I do recommend that students work together to discuss proof strategies, code structure, etc., on homework in this course.

Examples of allowed collaboration:

  • Proofs: You can discuss the basic strategy of any proof (e.g., proof by contradiction, important definitions from the book, etc.), including any “tricks” that may be required. However, actual writing of the proof and all justification of steps must be done on your own.
  • Codes: You can discuss basic program strategy (e.g., algorithms from the book, helpful websites, code structure, additional useful functions, and how functions should interact with one another). However, you must write and debug all codes yourself, using your own personal variable/fuction names, comments, and implementation details.

Examples of honor code violations include:

  • Copying theoretical work from another student, a tutor, or from the internet.
  • Submitting a computer code which includes a program, or even part of a program, written by anyone else (other than the instructor). This includes programs written by students from previous semesters, tutors, and programs downloaded from the internet.
  • Submitting plagiarized or fabricated computer outputs (numerical results or plots).
  • Supplying your own work for another student to copy.

A generally applicable rule of thumb in this course is: you are encouraged to talk about program strategy and proof strategy all you want, but you should never look at another student’s codes or written work.

See the SMU Honor Code website for more information.

SMU Regulations:

Disability Accommodations: Students needing academic accommodations for a disability must first register with Disability Accommodations & Success Strategies (DASS). Students can call 214-768-1470 or visit to begin the process. Once registered, students should then schedule an appointment with the professor as early in the semester as possible, present a DASS Accommodation Letter, and make appropriate arrangements. Please note that accommodations are not retroactive and require advance notice to implement.

Religious Observance: Religiously observant students wishing to be absent on holidays that require missing class should notify their professors in writing at the beginning of the semester, and should discuss with them, in advance, acceptable ways of making up any work missed because of the absence. (See “Religious Holidays” under University Policy No. 7.22).

Excused Absences for University Extracurricular Activities: Students participating in an officially sanctioned, scheduled University extracurricular activity should be given the opportunity to make up class assignments or other graded assignments missed as a result of their participation. It is the responsibility of the student to make arrangements with the instructor prior to any missed scheduled examination or other missed assignment for making up the work. (See 2018-2019 University Undergraduate Catalogue).

Campus Carry: In accordance with Texas Senate Bill 11, also known as the “campus carry” law, following consultation with the entire University community SMU determined to remain a weapons-free campus. Specifically, SMU prohibits possession of weapons (either openly or in a concealed manner) on campus. For more information, please see: