CX4640/MATH4640 Syllabus

Course: Numerical Analysis 1, 3 Credit Hours
Time/location: Tues and Thurs, 2:00-3:15PM, Engineering Sci and Mechanics 201
Date range: Aug 22, 2023 - Dec 5, 2023 (last day of class will be Nov 30)

  • Instructor: Spencer Bryngelson
    • Office hours: Virtual, Tuesday and Thursday, 4-5PM
    • See Canvas for Zoom link.
  • Teaching Assistant: Anand Radhakrishnan
    • Office hours: Virtual, Monday and Wednesday, 5-6PM
    • See Canvas for Zoom link.
  • In-person office hours available upon request
  • See “How to contact the teaching team” below regarding email communication

Course website

Canvas! and Piazza. See Canvas for links.

How to contact the teaching team

Piazza. You can send a private Piazza message if you believe the material is sensitive. You may use email (Spencer is shb at gatech dot edu, Anand is aradhakr34 at gatech dot edu) if you would like to request course accommodation for disability, otherwise please use Piazza.

Course description

Introduction to fundamental algorithms and analysis of numerical methods commonly used by scientists, mathematicians, and engineers.

Prerequisites

  • Linear and Discrete Mathematics (MATH 2602)
  • Differential Equations (MATH 2403/2413)
  • Intermediate-level expertise of Python, Matlab, Julia, Mathematica, or the like. Lower level languages like C, C++, Fortran, Rust, etc. are acceptable but not necessary for this course, and will likely slow you down.

Course goals and learning outcomes

This course is sometimes called “Introduction to Numerical Analysis” or “Intro. to Numerics”. The objective is for you to be proficient in the methods used by computers to solve the equations and problems you have already seen in other courses: linear and nonlinear systems of equations, eigenvalue problems, differential equations, etc (see section below).

This problem is more fraught than it might seem at first! The numerical methods are often hidden behind seemingly benign function calls in your favorite high level language (e.g., Python, Matlab). For example, the Matlab backslash operator (linear solve) is an entire, active field of research! This potential for depth is why courses like this one sometimes comes prepended with the word Introduction. At the end of this course, you will understand the inner workings of the many seemingly simple operators.

A deep dive into each operator and method is impossible due to time restrictions, but you will be exposed to the broader strokes of numerics for each style of problem listed below. If you are interested in a particular problem, the university offers graduate-level detailed courses on just about all of them!

Why Care?

Many reasons. Solving a problem on a computer without any understanding of what the computer is up to is dangerous. More practically, imagine you are solving a problem in (Python, Matlab, Julia, etc.) using a high-level function call. The function call presents you with an error: something has gone wrong. If you don’t know what the method is attempting to do, you are in not in a position to understand the error and fix it. If you don’t fix it, your homework doesn’t get done, your project doesn’t get finished, or your boss is upset. This is your opportunity to preempt such problems.

Topics

  • Finite precision computation, sources of error
  • Linear systems of equations
  • Linear least squares
  • Eigenvalue problems
  • Solution of nonlinear equations
  • Optimization
  • Interpolation and approximation
  • Numerical integration
  • Numerical differentiation
  • Numerical solution of ordinary differential equations

Recordings and participation

Courses will be recorded on my iPad and distributed on Canvas, though I do not broadcast these in real-time nor take online questions. The main reason to attend class, beyond the usual ones, is that I take a rather large amount of time for your questions. I also stay after class to answer questions, including ones that don’t apply to that day’s lecture.

Grading

Breakdown

  • 25% Homework
    • You will be assigned four graded homeworks: two before midterm 1 and two before midterm 2. The lowest score of the four will be dropped.
  • 25% Midterm 1 (take-home)
    • Assigned around Oct. 13, one week to complete.
  • 25% Midterm 2 (take-home)
    • Assigned around Nov. 17, one week to complete.
  • 25% Final project (take-home)
    • Due on the “final exam day” for this class, Dec. 7.

Letters

Your final grade will be assigned as a letter grade according to the following scale.

  • A: 90-100%
  • B: 80-89%
  • C: 70-79%
  • D: 60-69%
  • F: 0-59%

Extra credit

There are no extra credit opportunities in this course.

Course text

Michael Heath, Scientific Computing: An Introductory Survey (Revised Second Edition)

Course expectations and guidelines

Late assignments

Late exams and homeworks are subject to a 10% penalty per day late.

Academic Integrity

Georgia Tech aims to cultivate a community based on trust, academic integrity, and honor. Students are expected to act according to the highest ethical standards. For information on Georgia Tech’s Academic Honor Code, please visit http://www.catalog.gatech.edu/policies/honor-code/ or http://www.catalog.gatech.edu/rules/18/. Any student suspected of cheating or plagiarizing on an exam,or assignment will be reported to the Office of Student Integrity, who will investigate the incident and identify the appropriate penalty for violations.

Collaboration policy

All work is to be completed on an individual basis. No collaboration is acceptable.

Accommodations for students with disabilities

If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at (404) 894-2563 or http://disabilityservices.gatech.edu/, as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodations letter. Please also e-mail me as soon as possible in order to set up a time to discuss your learning needs.

Student Use of Mobile Devices in the Classroom

No policy here, but do not disrupt or distract other students.

Supporting resources

I curate supporting lecture notes, slides, videos, and codes at this GitHub repository.