Next: Theory of Computing Up: Research Areas in Computer Science Previous: Programming Languages and Systems

Scientific Computing

During the past forty years computers have dramatically changed engineering, medicine, and science. It is now possible to test thousands of designs and run thousands of trials without first building a prototype for each product or conducting an elaborate experiment for each trial. The impact of this new ability, this power to simulate the real thing, is easy to imagine. Reliability, flexibility, efficiency, and often attractive cost have placed scientific computation as the keystone between theory and applications. Basic research in scientific computing is applied to a wide range of applications including structural engineering and design, petroleum reservoir simulation, ocean acoustics, aerodynamic and hydrodynamic modeling, VLSI circuit design and testing, simulation of biological phenomena, signal processing and image enhancement, and computer-aided animation and graphics.

Research in scientific computing makes use of concepts and methodologies from numerical linear and nonlinear algebra and boundary value problems for differential equations. In addressing these areas, scientific computing at Yale emphasizes algorithm development, theoretical analysis, systems modeling, and programming considerations. Algorithm development is concerned with finding new, fast and/or parallel methods. Theoretical analysis evaluates such questions as rates of convergence, stability, optimality, and operation counts. Systems modeling research examines the performance implications of the interactions between computationally intensive algorithms, operating systems, and multiprocessor machines. Programming considerations include coding efficiency, numerical accuracy, generality of application, data structures, and machine independence.

One focus of work in scientific computing at Yale today is the adaptation of fast serial algorithms for the solution of linear and non-linear systems of equations for parallel multiprocessor environments. The studies of algorithm performance in parallel computing environments have included theoretical computation of running-time, simulation of multiprocessor systems in serial hardware, and actual multiprocessor experiments, some of the first performed in commercially-available networked multiprocessors.

Some other techniques of numerical analysis that have recently been under active investigation include extensions of the fast multipole method to solving ordinary differential equations; analysis of rank-revealing QR factorizations; finite-element or finite-difference procedures for solving elliptic boundary-value problems; an explicit finite-difference approximation method for solving parabolic equations; preconditioned iterative techniques for solving sparse, nonsymmetric linear systems; and efficient and stable methods for the symmetric tridiagonal eigenproblem.

Faculty members working in Scientific Computing are Ronald Coifman, Stanley Eisenstat, Moshe Israeli, Vladimir Rokhlin, and Martin Schultz. Hongwei Cheng, Tomasz Hrycak, Diana Resasco, and Norman Yarvin are Research Scientists.


Next: Theory of Computing Up: Research Areas in Computer Science Previous: Programming Languages and Systems
Graduate Handbook Contents
Yale Computer Science Department Homepage