ECS 231: Large-Scale Scientific Computation

Subject
ECS 231
Title
Large-Scale Scientific Computation
Status
Active
Units
4.0
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.
Prerequisites
ECS 130
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