### Summary

The purpose of computing is insight, not numbers.

– Richard Hamming

All models are wrong; some models are useful.

– George E. P. Box

Scientific computing is about analyzing problems from engineering and
the sciences using computational models. The basic philosophy of the
area is to find solutions that are *right enough* to answer application
questions, with algorithms and implementations that are *fast enough* to
make the answers useful in practical situations. The area is
collaborative and interdisciplinary: to ask sensible questions and
include relevant physics requires application expertise; to design and
analyze solution algorithms requires mathematical expertise; and to
build software to perform the computation requires software expertise.
My own work emphasizes all three of these aspects. I enjoy formulating
mathematical models, identifying mathematical structure that can be
exploited in novel solution algorithms, and producing software packages
that others can use.

Scientific computing problems feature *approximation* across many
levels, from the model formulation and parameters to the solution
procedure to the use of floating point arithmetic. To produce broadly
applicable software tools and algorithms, it is therefore necessary to
understand not only how much error might result from each specific
approximate step, but how to *compose* approximation methods.
It is a creative exercise to find *structural features*
of the “true” answer that should be maintained in order to reason about a
composition of approximate building blocks. This is the goal of error
analysis: not a tedious book-keeping exercise, but a fundamental part of
the *science* of scientific computing.

The main focus of work in scientific computing is using numerical linear algebra to solve a variety of applications problems from mechanical and electrical engineering and from within computer science.