2016 High Performance Scientific Computing

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Graduate major in Computer Science
Yokota Rio  Endo Toshio 
Class Format
Media-enhanced courses
Day/Period(Room No.)
Mon1-2(W831)  Thr1-2(W831)  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
Access Index

Course description and aims

This course will equip students with the necessary knowledge and skills to develop fast algorithms for numerical methods in scientific computing. The course will cover finite difference and finite element methods along with direct and iterative methods to solve the resulting linear systems. Students will also learn integral formulations and methods to solve them such as boundary element methods and particle-based methods. Each class will start with a real world example of the state-of-the-art applications for each technique, before explaining the fundamental theory behind these methods.

Student learning outcomes

By the end of this course, students will be able to
1. Use finite difference or finite element methods to discretize a continuum field
2. Use molecular dynamics or smooth particle hydrodynamics to simulate a particle field
3. Understand the characteristics of parabolic, hyperbolic, and elliptic PDEs and select an appropriate method
4. Choose an appropriate technique such as spectral methods and boundary element methods based on understanding of the special cases
5. Explain the significance of dense and sparse linear solvers, both direct and iterative
6. Understand advanced preconditioning techniques such as multigrid and FMM


Finite difference methods, Finite element methods, Spectral methods, Boundary element methods, Smooth particle hydrodynamics, Particle mesh, Weighted residual methods, Discretization error, Convergence, Stability, Partial differential equation, Integral equation, Initial condition, Boundary condition, Time integration, Parabolic equation, Hyperbolic equation, Elliptic equation, Sparse matrix, Dense matrix, Eigensolver, Direct methods, Multifrontal methods, Iterative methods, Krylov subspace methods, Pre- conditioning, Multigrid, Fast multipole method

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Two-thirds of a class is devoted to fundamentals and the rest to advanced contents or applications.

Course schedule/Required learning

  Course schedule Required learning
Class 1 Discretizing differential equations Discretize differential equations using forward, backward, and central difference, with high order, and evaluate the discretization error.
Class 2 Finite difference methods Understand stability of low and high order time integration, and use it to solve convection, diffusion, and wave equations.
Class 3 Finite element methods Understand the concepts of Galerkin methods, test functions, isoparametric elements, and use it to solve elasticity equations.
Class 4 Spectral methods Explain the advantages of orthogonal basis functions such as Fourier, Chebyshev, Legendre, and Bessel.
Class 5 Boundary element methods Understand the relation between inverse matrices, δ functions and Green’s functions, and solve boundary integral equations.
Class 6 Molecular dynamics Understand the significance of symplectic time integrators and thermostats, and solve the dynamics of interacting molecules.
Class 7 Smooth particle hydrodynamics (SPH) Evaluate the conservation and dissipation properties of differential operators formed from radial basis functions.
Class 8 Particle mesh methods How to conserve higher order moments for interpolations schemes when both particle and mesh-based discretizations are used.
Class 9 Dense direct solvers Understand the principle of LU decomposition and the optimization and parallelization techniques that lead to the LINPACK benchmark.
Class 10 Dense eigensolvers Determine eigenvalues and eigenvectors and understand the fast algorithms for diagonalization and orthonormalization.
Class 11 Sparse direct solvers Understand reordering in AMD and nested dissection, and fast algorithms such as skyline and multifrontal methods.
Class 12 Sparse iterative solvers Understand the notion of positive definiteness, condition number, and the difference between Jacobi, CG, and GMRES.
Class 13 Preconditioners Understand how preconditioning affects the condition number and spectral radius, and how that affects the CG method.
Class 14 Multigrid methods Understand the role of smoothers, restriction, and prolongation in the V-cycle.
Class 15 Fast multipole methods, H-matrices Understand the concept of multipole expansion and low-rank approximation, and the role of the tree structure.


“Computational Science and Engineering”, G. Strang, Wellesley-Cambridge Press, 2007.

Reference books, course materials, etc.


Assessment criteria and methods

Evaluation is based on written reports (40%) and final report (60%).

Related courses

  • Numerical Analysis
  • Basic Application of Computing and Mathematical Sciences

Prerequisites (i.e., required knowledge, skills, courses, etc.)


Page Top