CSCI 5526: Computational Tools for Multiscale Problems
CSCI 5526: Computational Tools for Multiscale Problems
Instructor: Fruzsina Agocs
Email: Fruzsina.agocs@colorado.edu
The course discusses state-of-the-art methods and software for the fast and accurate numerical solution of problems with features on multiple scales. This course starts from the fundamentals of numerical computation (linear solve, interpolation, differentiation, quadrature) and builds up to hybrid ODE solvers and boundary integral equation methods. Methods for developing scientific computing software will be discussed and practiced in-class and via assignments.
Prerequisites
- CSCI 3656 Numerical Computation, CSCI 5636 Numerical Solution of Partial Differential Equations
- Knowledge of a programming language (e.g. Python, C++, MATLAB)
- Linear algebra
- Calculus, including vector calculus
- Complex analysis
Topics Covered
- Fundamentals of numerical computation: floating point representation, conditioning of problems, stability of algorithms, convergence rate.
- Numerical interpolation, quadrature, differentiation, and their accuracy.
- Methods for ODEs: stiff and non-stiff methods (spectral, asymptotics-accelerated, etc.)
- Special quadrature for oscillatory and singular functions.
- Boundary integral method: linear PDEs, singular value decomposition, numerical rank, Nystrom method for discretization, well-posedness, Laplace/Helmholtz equation, the scattering formalism, advanced techniques for high-order accuracy.
Semester Grades
- Homework (60% total, roughly 15% each): A mixture of analytic and computational work
- Paper presentation (30%): Prepare a 40-minute presentation on a paper of choice (from a selection, but student’s recommendation is accepted if within scope), rubric discussed in class and published on Canvas
- Reading and questions on in-class reading (10%): During student-led presentations, other students will also read the paper and answer a few questions on it prior to class.
Learning Outcome
- Be familiar with established and novel numerical tools (methods and software) for fundamental computational tasks: interpolation, quadrature, solution of ODEs, solution of linear PDEs with boundary integral equation methods.
- Understand how to assess whether a numerical solution is satisfactory, learn to evaluate what accuracy one can reasonably demand.
- Learn to build robust numerical software and (unit, convergence) test it.
- Distill information from numerical analysis research; summarize, communicate results by presentation.