Syllabus for Math 589, Section 001, Fall 2024
Location and Times
Math 589A, Section 001, meets in Mathematics 501, MWF 12:00PM - 12:50PM.
Course Description
According to
the catalogue:
Part A (Fall)
Floating point arithmetic. Numerical linear algebra: Singular Value
Decomposition, QR and LU factorizations. Eigenvalues and
eigenvectors. Systems of non-linear equations: functional iteration,
Newton"s method. Numerical Differential Equations: basic integration
schemes, order of accuracy. Initial Value Problem: Euler method,
explicit-implicit methods, stability, Runge-Kutta methods, adaptive
step size. Boundary Value Problem: shooting method,
quasi-linearization. Other topics as chosen by the instructor.
Part B (Spring)
Least squares problem. Unconstrained Optimization: gradient
descent with backtracking, Newton method; constrained
optimization: primal-dual Newton, interior point methods; linear
programming. Inference and Learning Algorithms: sampling
algorithms, Monte-Carlo method, importance sampling, stochastic
optimization; regression, classification, clustering. Other topics
as chosen by the instructor.
Course Prerequisites or Co-requisites
As determined by the
GIDP Program in Applied Mathematics Graduate Student Handbook.
Browse to Core
Courses for addition information.
Instructor and Contact Information
Office Hours
Semester: Spring, 2025
Personnel |
Day of the Week |
Hour |
Room |
Comment |
Marek Rychlik |
Monday |
9:00am-10:00am |
Math 589B Zoom Link |
Upper Division Tutoring |
Novel Dey, Math 589 Super-TA |
Monday |
1:00pm-2:00pm |
Zoom |
Math 589 Super-TA office hours (Zoom link in D2L menu) |
Marek Rychlik |
Wednesday |
5:00pm-6:00pm |
Math 589 Zoom Link |
Regular office hours |
Novel Dey, Math 589 Super-TA |
Thursday |
4:00pm-5:00pm |
Zoom |
Math 589 Super-TA office hours (Zoom link in D2L menu) |
Marek Rychlik |
Friday |
2:00pm-3:00pm |
Math 589 Zoom Link |
Regular office hours |
Office hours by appointment are welcome. Please contact me by
e-mail first, so that I can activate a Zoom link for the meeting.
Course Format and Teaching Methods
The course format is that of a conventional lecture, with
in-class discussion and additional web-delivered content. All
lectures will be recorded and available on Zoom and Panopto.
Written homework will be assigned regularly and graded
using Gradescope.
In addition, the course incorporates required programming
assignments. Numerical experimentation is essential to
understanding and using the course subject matter. The
assignments will be graded by an
autograder
implemented in Gradescope.
Course Objectives - Math 589A
- Understand floating point arithmetic.
- Understand numerical linear algebra, including solving dense and
sparse linear systems, SVD, QR and LU factorizations
- Be able to solve systems of non-linear equations.
- Gain competency at solving ODE numerically
- Be able to solve boundary value problems for ODE
- Become familiar with the HPC resources of the University of Arizona.
- Gain working knownledge of Python and MATLAB
- Learn basics of parallel, distributed and GPU programming
- Be able to apply acquired knowledge to "real-life" problems
Course Objectives - Math 589B (tentiative)
- Understand and apply various numerical methods for optimization and optimal control.
- Analyze and solve complex optimization problems in both constrained and unconstrained settings.
- Explore Monte-Carlo algorithms and their applications in inference and learning.
- Investigate neural network algorithms and their implementation in modern programming frameworks.
Generative AI use IS permitted or encouraged
In this course you are welcome and expected to use generative
artificial intelligence/large language model tools, e.g. ChatGPT,
Dall-e, Bard, Perplexity. Using these tools aligns with the course
learning goals such as developing writing and programming skills,
and ability to effectively use available information. Be aware that
many AI companies collect information; do not enter confidential
information as part of a prompt. LLMs may make up or hallucinate
information. These tools may reflect misconceptions and biases of
the data they were trained on and the human-written prompts used to
steer them. You are responsible for checking facts, finding reliable
sources for, and making a careful, critical examination of any work
that you submit. Your use of AI tools or content must be
acknowledged or cited. If you do not acknowledge or cite your use of
an AI tool, what you submit will be considered a form of cheating or
plagiarism. Please use the following guidelines for
acknowledging/citing generative AI in your assignments:
Absence and Class Participation Policy
Importance of attendance and class participation
Participating in course and attending lectures and other course
events are vital to the learning process. As such, attendance is
required at all lectures and discussion section meetings.
Students who miss class due to illness or emergency are required
to bring documentation from their healthcare provider or other
relevant, professional third parties. Failure to submit
third-party documentation will result in unexcused absences.
Missed Exams
Students are expected to be present for all exams. If a
verifiable emergency arises which prevents you from taking an
in-class exam at the regularly scheduled time, the instructor must be
notified as soon as possible, and in any case, prior to
the next regularly scheduled class. Make-up exams and quizzes
will be administered only
at the discretion of the instructor
and only under extreme circumstances. If a
student is allowed to make up a missed exam, (s)he must take
it at a mutually arranged time. No further opportunities will
be extended. Failure to contact your instructor as stated
above or inability to produce sufficient evidence of a real
emergency will result in a grade of zero on the exam. Other
remedies, such as adjusting credit for other exams, may be
considered.
COVID-19 related policies
As we enter the new semester, the health and wellbeing of everyone
in this class is the highest priority. Accordingly, we are all
required to follow the university guidelines on COVID-19
mitigation. Please visit
http://www.covid19.arizona.edu for the latest guidance.
UA policies
The UA"s policy concerning Class Attendance, Participation, and
Administrative Drops is available at:
http://catalog.arizona.edu/2015-16/policies/classatten.htm
The UA policy regarding absences for any sincerely held religious
belief, observance or practice will be accommodated where
reasonable,
http://policy.arizona.edu/human-resources/religious-accommodation-policy
.
Absences pre-approved by the UA Dean of Students (or Dean Designee)
will be honored. See:
http://uhap.web.arizona.edu/policy/appointed-personnel/7.04.02
Required Texts or Readings
Required Textbook
Advanced Numerical Methods and High-Performance Computing
By Marek Rychlik (the instructor). A lecture note style booklet
prepared especially for this course.
Additional reading
See Background reading
for a list of texts worth studying along with taking the course.
Assignments and Examinations
Notes on exam administration
All examinations are planned to be administered during the class
time, either in person or on Zoom.
If, due to unforseen circumstances, they cannot be held in person, they are held on Zoom
using the "gallery view" mode.The exam papers for not in-person tests will be distributed
on-line by D2L and collected electronically using D2L "dropbox"
feature.
Exam/assignment listing with date and grade contribution
Homework Assignments
Written and programming homework consists of approximately twelve assignments
equally contributing to the grade, each worth 30/12 = 2.5% of the grade.
Written assignments are downloaded from Gradescope.
The programming assignments are posted on line at this link: Homework.
The assignment papers are collected via Gradescope,
which is cloud-based software for semi-automatic grading.
Programming assignments will be graded using autograders - programs written by the
instructor that run the code and verify the results.
Things to keep in mind:
-
The student will submit all graded work
through Gradescope. Gradescope
assignments, by their nature, are answer-oriented. The
opportunity for partial credit on written assignments is
somewhat limited.
-
The programming assignments shall be maintained in a GitHub repository.
A read/write link to the repository will be shared with the instructor
via the "collaborator" mechanism of GitHub. The repository will
include all code necessary to test the code. Python test code must be
runnable via 'pytest' program and preferrably use the 'unittest' package.
A good way to start with this system is to clone
the Assignment 0 repository:
https://github.com/Arizona-Math/Math589Assignment0
-
Homework may not be submitted through e-mail, no exceptions.
-
Due dates will be adjusted in Gradescope only as needed and the
student is expected to check regularly for those adjustments. Due dates
in D2L will not be updated.
Homework submission requirements
Using Gradescope for grading differs from other grading
systems. Mainly, it uses AI to allow the instructor to accurately
grade a larger number of problems than it would be possible
otherwise. Some grading is completely automated (e.g., solutions to
problems with a numerical answer). More comples answers may be
grouped automatically by using Machine Learning, OCR and image
analysis. However, it is possible to completely confuse the system
by improperly structuring the submitted document. Therefore, please
read the instructions below carefully and re-visit them as needed. Note
that Gradescope supports automatic regrade requests which you
can use if all fails.
The solutions must be structured in such a way that Gradescope can
read them and that its 'AI' can interpret them. Your homework must
be submitted as a PDF document, even if you use scanner or phone to
capture images. Two typical workflows will be as follows:
-
Download the blank assignment (also called a 'template') from Gradescope.
-
Read and understand exactly what answers you need to provide.
The space to enter the answer is a blue box, and marked with
a label such as 'Q1.1' ("Question 1, part 1").
-
Work out the problem on "paper" (real or virtual), to obtain the
answers. They must fit in the designated boxes in the
'template'. The size of the box is a hint from the instructor
about the size of the answer (typically a number or a math
formula) when entered by hand, using regular character size.
-
The recommended way to fill out the 'template' is paperless, by using
suitable software and hardware (digital pen or tablet). I use
a free program Xournal for
this and it works great. You need to use it in combination with
a digital pen or a tablet. It can produce a PDF easily, ready for
submission to Gradescope.
-
You can also print the assignment on (real) paper, fill out the
answers and scan the marked up document back to PDF format.
However, the position of the boxes must be exactly (to a
fraction of an inch) as in the original. Also, you may encounter
a variety of "quality control" issues, especially if you are
using a digital camera to scan the paper solution. All issues
can be solved by a mix of the right hardware and software, but
may not be the best time investment. The least troublesome way
to scan is to use a real, flatbed scanner, e.g. in the library.
-
Upload the resulting document (a PDF of the 'template' marked up
with your answers) to Gradescope. Your PDF must contain your
name and student id in designated spaces. The Gradescope 'AI' will look
for your name and student id, to properly associate it with your
account.
-
After grading, the grade will be transmitted to D2L (Brightspace) and
will be added to your 'Final Calculated Grade' automatically.
-
Do not reduce handwriting size! Reduce the size of your
answer using
- closed form expressions;
- appropriate math functions,
e.g., absolute value, min and max.
-
Under no circumstances write outside the provided space (boxes).
Gradescope, and the grader only considers the content of the
designated boxes.
-
IMPORTANT! Do not insert pages in the solution template.
This will confuse Gradescope, and will result in reduced
score and/or will require re-submission. However, you are
encouraged to submit scratchwork. You should create pages
at the end of the document. Similarly, if you run out of space
in the template for your solution, you can continue
the solution on a newly created page at the end of the
document, adding a note in the template: "Solution continued on page 13"
where page 13 will contain the continuation.
-
CRITICALLY IMPORTANT! You may insert handwritten
solutions into the template using "electronic ink" (such as
xournal), as long as you achieve similar legibility to typed
text. You may also use a high-quality digital scanner capable
of producing quality comparable to printed document, as long as
you write very legibly.
You may not insert pictures of handwritten or typed pages
taken with a cell phone camera! If your work does not meet
the legibility criterion, the instructor will ask you to move to a
different system.
Programming and Software
Programming in Python and MATLAB is an important part of the course.
Programming assignments in the first parts of the course will be
in Python, and later in the course they will approximately alternate
between MATLAB and Python.
Additionally, for illustrating some aspects of the course, I will be
using these programs (easy to download and free to use):
-
A computer algebra system (CAS) called Maxima.
-
The maxima GUI
wxMaxima
is a separate program and this is the preferred way to use
Maxima if you are a beginner. During the previous semester
students successfully applied Maxima to doing their homework,
and I will provide examples of Maxima calculations in class.
-
Automatic Row Reduction Generator (ARRG) -
a program I wrote in Common Lisp for training students in various flavors of Gaussian elimination.
It simulates row reduction, as it would be performed on paper by hand, featuring:
- various pivoting strategies
- row echelon and reduced row echelon forms
- rational arithmetic with exact answers
- Floating-point and rational complex numbers
The use of High-Performance Computing (HPC)
The University of Arizona has vast computing resources for projects
of all sorts of sizes. In the course of your studies you will most
likely need to use these resources.
Some of the activities in this class will utilize HPC resources.
The students in the class will be provided access through
a class group associated with this class.
The resources available to each student are described here:
UArizona HPC Documentation Site
The resources include:
- Supercomputers with thousands of CPUs
- Vast storage
- Hundreds of GPUs (Graphical Processing Units)
The class aims at providing a comprehensive introduction to these
facilities, and the specific programming techniques required
to take advantage of this computing power.
Final Examination
The final examination is scheduled for: December 18, Wednesday, 10:30am - 12:30pm.
The time, data and general exam rules are set by the University
and can be found at these links:
Grading Scale and Policies
The student in the class normally receives a letter grade A, B, C, D or E.
The cut-offs for the grades are:
Normally, individual tests and assignments will not be
"curved". However, grade cut-offs may be lowered
at the end of the semester (but not raised!) to reflect
the difficulty of the assignments and other factors that
may cause abnormal grade distribution.
The grade will be computed by D2L and the partial
grade will be updated automatically by the system
as soon as the individual grades are recorded.
General UA policy regarding grades and grading systems is
available at
https://catalog.arizona.edu/policy-type/grade-policies
Safety on Campus and in the Classroom
For a list of emergency procedures for all types of incidents, please
visit the website of the Critical Incident Response Team (CIRT):
https://cirt.arizona.edu/case-emergency/overview
Also watch the video available at
https://arizona.sabacloud.com/Saba/Web_spf/NA7P1PRD161/common/learningeventdetail/crtfy000000000003560
Classroom Behavior Policy
To foster a positive learning environment, students and instructors have a shared
responsibility. We want a safe, welcoming and inclusive environment
where all of us feel comfortable with each other and where we can
challenge ourselves to succeed. To that end, our focus is on the
tasks at hand and not on extraneous activities (i.e. texting,
chatting, reading a newspaper, making phone calls, web surfing,
etc).
Threatening Behavior Policy
The UA Threatening
Behavior by Students Policy prohibits threats of physical harm to
any member of the University community, including to one's self.
See:
http://policy.arizona.edu/education-and-student-affairs/threatening-behavior-students
.
Accessibility and Accommodations
Our goal in
this classroom is that learning experiences be as accessible as
possible. If you anticipate or experience physical or academic
barriers based on disability, please let me know immediately so
that we can discuss options. You are also welcome to contact
Disability Resources (520-621-3268) to establish reasonable
accommodations. For additional information on Disability Resources
and reasonable accommodations, please visit
http://drc.arizona.edu/
.
If you have reasonable accommodations,
please plan to meet with me by appointment or during office hours
to discuss accommodations and how my course requirements and
activities may impact your ability to fully participate. Please be
aware that the accessible table and chairs in this room should
remain available for students who find that standard classroom
seating is not usable. Code of Academic Integrity Required
language: Students are encouraged to share intellectual views and
discuss freely the principles and applications of course
materials. However, graded work/exercises must be the product of
independent effort unless otherwise instructed. Students are
expected to adhere to the UA Code of Academic Integrity as
described in the UA General Catalog. See:
http://deanofstudents.arizona.edu/academic-integrity/students/academic-integrity
http://deanofstudents.arizona.edu/codeofacademicintegrity
.
UA Nondiscrimination and Anti-harassment Policy
The University is committed to creating and maintaining an
environment free of discrimination,
http://policy.arizona.edu/human-resources/nondiscrimination-and-anti-harassment-policy
.
Our classroom is a place where everyone is encouraged to express
well-formed opinions and their reasons for those opinions. We also
want to create a tolerant and open environment where such opinions
can be expressed without resorting to bullying or discrimination
of others.
Additional Resources for Students
UA Academic policies and procedures are available at:
http://catalog.arizona.edu/2015-16/policies/aaindex.html
Student Assistance and Advocacy information is available at:
http://deanofstudents.arizona.edu/student-assistance/students/student-assistance
Confidentiality of Student Records
http://www.registrar.arizona.edu/ferpa/default.htm
.
Subject to Change Statement
Information contained in the course syllabus, other than the grade
and absence policy, may be subject to change with advance notice,
as deemed appropriate by the instructor.
Course Timeline
Week |
Date |
Topic |
Notes |
1 |
Jan 16 |
Constrained and Unconstrained Optimization |
Lagrange Multipliers, Derivation |
2 |
Jan 21 |
Constrained and Unconstrained Optimization |
Bordered Hessian, Protein Folding |
Jan 23 |
Constrained and Unconstrained Optimization |
Gradient Projection Method, BFGS, Backtracking |
3 |
Jan 28 |
Interpolation and Polynomial Approximation |
Lagrange Polynomial, Newton Interpolation, Error, Spline Interpolation |