Developing accurate and reliable scientific software is notoriously
difficult. This book investigates some of the difficulties related to
scientific computing and provides insight into how to overcome them and
obtain dependable results. The text deals thoroughly with the problems
that affect software in general as well as the particular challenges of
numerical computation: approximations occurring at all levels,
continuous functions replaced by discretized versions, infinite
processes replaced by finite ones, and real numbers replaced by finite
precision numbers. Divided into three parts, it starts by illustrating
some of the difficulties in producing robust and reliable scientific
software. The second section describes diagnostic tools that can be
used to assess the accuracy and reliability of existing scientific
applications. In the last section, the authors describe a variety of
techniques that can be employed to improve the accuracy and reliability
of newly developed scientific applications.