Bo Einarsson, Editor
Numerical software is used to test scientific theories, design airplanes and bridges, operate manufacturing lines, control power plants and refineries, analyze financial derivatives, identify genomes, and provide the understanding necessary to derive and analyze cancer treatments. Because of the high stakes involved, it is essential that results computed using software be accurate, reliable, and robust. Unfortunately, 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 tools to assess existing scientific applications are described, and a variety of techniques that can improve the accuracy and reliability of newly developed applications is discussed.
Accuracy and Reliability in Scientific Computing can be considered a handbook for improving the quality of scientific computing. It will help computer scientists address 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. Well-known cases of failure are reviewed and the what and why of numerical computations are considered. 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. The authors of the individual chapters are international experts, many of them members of the IFIP Working Group on Numerical Software.
Accuracy and Reliability in Scientific Computing contains condensed information on the main features of six major programming languages — Ada, C, C++, Fortran, Java, and Python — and the INTLAB toolbox of the MATLAB software and the PRECISE toolbox of Fortran are discussed in detail. This book has an accompanying website, www.nsc.liu.se/wg25/book/, with codes, links, color versions of some illustrations, and additional material.
The book will be of interest to any scientist, engineer, or physicist who wants to improve the reliability and accuracy of computed results, especially when the computations are critical or large. It will be of interest to practitioners who use numerical software for real applications and want to avoid potential difficulties.
List of Contributors; List of Figures; List of Tables; Preface; Part I: PITFALLS IN NUMERICAL COMPUTATION. Chapter 1: What Can Go Wrong in Scientific Computing? Bo Einarsson; Chapter 2: Assessment of Accuracy and Reliability, Ronald F. Boisvert, Ronald Cools, and Bo Einarsson; Chapter 3: Approximating Integrals, Estimating Errors, and Giving the Wrong Solution for a Deceptively Easy Problem, Ronald Cools; Chapter 4: An Introduction to the Quality of Computed Solutions, Sven Hammarling; Chapter 5: Qualitative Computing, Françoise Chaitin-Chatelin and Elisabeth Traviesas-Cassan; Part II: DIAGNOSTIC TOOLS. Chapter 6: PRECISE and the Quality of Reliable Numerical Software, Françoise Chaitin-Chatelin and Elisabeth Traviesas-Cassan; Chapter 7: Tools for the Verification of Approximate Solutions to Differential Equations, Wayne H. Enright; Part III: TECHNOLOGY FOR IMPROVING ACCURACY AND RELIABILITY. Chapter 8: General Methods forImplementing Reliable and Correct Software, Bo Einarsson; Chapter 9: The Use and Implementation of Interval Data Types, G.WilliamWalster; Chapter 10: Computer-Assisted Proofs and Self-Validating Methods, Siegfried M. Rump; Chapter 11: Hardware Assisted Algorithms, Craig C. Douglas and Hans Petter Langtangen; Chapter 12: Issues in Accurate and Reliable Use of Parallel Computing in Numerical Programs, William D. Gropp; Chapter 13: Software Reliability Engineering of Numerical Systems, Mladen A. Vouk; Bibliography; Index.
Royalties from the sale of this book are placed in a fund to help students attend SIAM meetings and other SIAM-related activities. This fund is administered by SIAM, and qualified individuals are encouraged to write directly to SIAM for guidelines.
2005 / xxiii + 336 pages / Softcover / ISBN-13: 978-0-898715-84-2 / ISBN-10: 0-89871-584-9 /
List Price $71.50 / SIAM Member Price $50.05 / Order Code SE18