Guide to Scientific Computing in C++

  • Joe Pitt-Francis
  • Jonathan Whiteley
Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages I-XII
  2. Joe Pitt-Francis, Jonathan Whiteley
    Pages 1-24
  3. Joe Pitt-Francis, Jonathan Whiteley
    Pages 25-42
  4. Joe Pitt-Francis, Jonathan Whiteley
    Pages 43-53
  5. Joe Pitt-Francis, Jonathan Whiteley
    Pages 55-64
  6. Joe Pitt-Francis, Jonathan Whiteley
    Pages 65-86
  7. Joe Pitt-Francis, Jonathan Whiteley
    Pages 87-115
  8. Joe Pitt-Francis, Jonathan Whiteley
    Pages 117-130
  9. Joe Pitt-Francis, Jonathan Whiteley
    Pages 131-140
  10. Joe Pitt-Francis, Jonathan Whiteley
    Pages 141-149
  11. Joe Pitt-Francis, Jonathan Whiteley
    Pages 151-164
  12. Joe Pitt-Francis, Jonathan Whiteley
    Pages 165-191
  13. Joe Pitt-Francis, Jonathan Whiteley
    Pages 193-212
  14. Back Matter
    Pages 213-250

About this book

Introduction

The computational demands of modern-day simulation software needed across a range of diverse scientific disciplines lead many programmers to write their code in an object-oriented language such as C++.

This easy-to-read textbook/reference presents an essential guide to object-oriented C++ programming for scientific computing. With a practical focus on learning by example, the theory is supported by numerous exercises. Features of both the C++ language and standard libraries are highlighted via the development of classes of vectors and matrices, allowing demonstration of key concepts. The text then explains how these classes can be adapted for parallel computing, before demonstrating how a flexible, extensible library can be written for the numerical solution of differential equations.

Topics and features:

  • Provides a specific focus on the application of C++ to scientific computing, including parallel computing using MPI
  • Stresses the importance of a clear programming style to minimize the introduction of errors into code
  • Presents a practical introduction to procedural programming in C++, covering variables, flow of control, input and output, pointers, functions, and reference variables
  • Exhibits the efficacy of classes, highlighting the main features of object-orientation
  • Examines more advanced C++ features, such as templates and exceptions
  • Supplies useful tips and examples throughout the text, together with chapter-ending exercises, and code available to download from http://www.springer.com/978-1-4471-2735-2

This clearly written textbook is a “must-read” for programmers of all levels of expertise. Basic familiarity with concepts such as operations between vectors and matrices, and the Newton-Raphson method for finding the roots of non-linear equations, would be an advantage, but extensive knowledge of the underlying mathematics is not assumed.

Keywords

C++ Programming MPI Numerical Methods Object-Oriented Programming Parallel Programming Scientific Computing

Authors and affiliations

  • Joe Pitt-Francis
    • 1
  • Jonathan Whiteley
    • 2
  1. 1.Department of Computer ScienceUniversity of OxfordOxfordUnited Kingdom
  2. 2.Department of Computer ScienceUniversity of OxfordOxfordUnited Kingdom

Bibliographic information

  • DOI https://doi.org/10.1007/978-1-4471-2736-9
  • Copyright Information Springer-Verlag London Limited 2012
  • Publisher Name Springer, London
  • eBook Packages Computer Science
  • Print ISBN 978-1-4471-2735-2
  • Online ISBN 978-1-4471-2736-9
  • Series Print ISSN 1863-7310
  • About this book