Title
Large-Scale Scientific Computation
Effective Term
2016 Spring Quarter
Learning Activities
Lecture - 3.0 hours
Discussion - 1.0 hours
Description
Algorithms and techniques for large-scale scientific computation, including basics for high performance computing, iterative methods, discrete approximation, fast Fourier transform, Poisson solvers, particle methods, spectral graph partition and its applications.
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Summary of Course Content
I. The basics
A. IEEE floating-point arithmetic
B. BLAS
C. Basic matrix decompositions
D. Memory hierarchies
E. Programming language support
F. Performance tuning
II. Iterative methods
A. The power method
B. CG method
C. Krylov subspace methods
III. Data fitting and discrete approximation
A. Interpolation
B. Least squares
C. Discrete approximation
D. Splines
IV. The fast Fourier transform
V. Poisson solvers
VI. Particle methods
A. N^2 algorithms
B. Fast multipole method
VII. Spectral graph partition and applications
A. Spectral graph partition
B. Spectral image segmentation and data clustering
Illustrative Reading
Michael T. Heath, Scientific Computing: An Introductory Survey, McGraw-Hill, 1997, ISBN: 0-07-027684-6
Selected papers from the literature and lecture notes
Potential Course Overlap
A few topics (such as iterative methods) may intersect MAT 229AB, but not significantly. The emphasis of these courses is very different. ECS 231 is a one-quarter course that is designed for computationally-oriented disciplines, particularly graduate students in computer science areas, who need to solve numerical computation problems in their research, but have only a limited time for this purpose due to many other complementary course requirements. ECS 231 emphasizes the algorithmic structure of numerical methods, engineering reliable and efficient software, and applications including information-based computing.
Course Category