November 16th, 2011 — Introduction to Scientific Computing — Robert Goddard

Come at 6:30pm for pizza supplied by Kongsberg Underwater Technology.


Computing in science and engineering involves modeling part of the physical world. The inputs could be detailed measurements of the environment, or a randomized set of potential measurements that might characterize some environment in the future. The outputs could be images, or sound, or predictions of whether a system will succeed or fail to perform its function, or actions to make it more (or less) likely that some system will succeed. The algorithms might involve solving a set of differential equations, or integrating some function over a multi-dimensional domain, or searching multi-dimensional parameter spaces to optimize some measure of quality or fit, or sifting through noise to find a buried signal. Speed requirements might be real-time (hard or soft), or much faster, or just fast enough to fit into your project cost and schedule. The answers must be accurate enough to accomplish the mission: Personnel training, or performance prediction, or advance of scientific knowledge, or control of a system or device, or life, or death.

Scientific computing typically involves a whole lot of arithmetic. So, I will begin with a review of floating point arithmetic, specifically the IEEE 754 standard. (You might be surprised at how much you thought you knew, but didn’t.) Then I will move on to R. W. Hamming’s five main ideas about computation: Emphasis on the purpose of the computation, generalization of algorithms into families, roundoff error, truncation error, and feedback (stability). I hope to give enough practical information to help you avoid the most common problems inherent in numerical computation, and to point out resources that could help you go further.


Robert Goddard is a physicist and software developer. For the last 31 years, he has worked at the Applied Physics Laboratory of the University of Washington, mainly on computer modeling of underwater sound. He is the architect and team leader for the Sonar Simulation Toolset (SST), which produces simulated underwater sound, suitable as input to sophisticated signal processing systems (including human ears and brains), based on user-specified descriptions of the undersea environment, the listening system, and the sound sources and targets that might be out there. He has also developed systems for control of measurement devices, data analysis, visualization, modeling of quantum mechanical scattering, and optimization of parameter values to fit observations.

Bob has been an active participant in NWCPP for most of its existence, and is currently Treasurer.


Video and slides