Skip to main content
  • Textbook
  • © 2017

Guide to Scientific Computing in C++

Authors:

(view affiliations)
  • With an emphasis on the modularity of C++ programming

  • Includes an introduction to parallel programming using MPI

  • Covers the object-oriented design of a numerical library for solving differential equations

  • Provides numerous examples, chapter-ending exercises, and code available to download

  • Updated new edition including additional material on software testing, and on some new features introduced in modern C++ standards such as C++11

  • Includes supplementary material: sn.pub/extras

Part of the book series: Undergraduate Topics in Computer Science (UTICS)

Buying options

eBook
USD 44.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-73132-2
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD 59.99
Price excludes VAT (USA)

This is a preview of subscription content, access via your institution.

Table of contents (12 chapters)

  1. Front Matter

    Pages i-xiv
  2. Getting Started

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 1-26
  3. Flow of Control

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 27-45
  4. File Input and Output

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 47-58
  5. Pointers

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 59-73
  6. Blocks, Functions and Reference Variables

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 75-97
  7. An Introduction to Classes

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 99-128
  8. Inheritance and Derived Classes

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 129-143
  9. Templates

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 145-161
  10. Errors, Exceptions and Testing

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 163-181
  11. Developing Classes for Linear Algebra Calculations

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 183-196
  12. An Introduction to Parallel Programming Using MPI

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 197-224
  13. Designing Object-Oriented Numerical Libraries

    • Joe Pitt-Francis, Jonathan Whiteley
    Pages 225-244
  14. Back Matter

    Pages 245-287

About this book

This simple-to-follow textbook/reference provides an invaluable guide to object-oriented C++ programming for scientific computing. Through a series of clear and concise discussions, the key features most useful to the novice programmer are explored, enabling the reader to quickly master the basics and build the confidence to investigate less well-used features when needed. The text presents a hands-on approach that emphasizes the benefits of learning by example, stressing the importance of a clear programming style to minimise the introduction of errors into the code, and offering an extensive selection of practice exercises.

This updated and enhanced new edition includes additional material on software testing, and on some new features introduced in modern C++ standards such as C++11.

Topics and features:

  • Presents a practical treatment of the C++ programming language for applications in scientific computing
  • Reviews the essentials of procedural programming in C++, covering variables, flow of control, input and output, pointers, functions and reference variables
  • Introduces the concept of classes, showcasing the main features of object-orientation, and discusses such advanced C++ features as templates and exceptions
  • Examines the development of a collection of classes for linear algebra calculations, and presents an introduction to parallel computing using MPI
  • Describes how to construct an object-oriented library for solving second order differential equations
  • Contains appendices reviewing linear algebra and useful programming constructs, together with solutions to selected exercises
  • Provides exercises and programming tips at the end of every chapter, and supporting code at an associated website

This accessible 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.

Dr. Joe Pitt-Francis is a Departmental Lecturer at the Department of Computer Science and teaches Computer Science at Exeter College, the University of Oxford, UK. Prof. Jonathan Whiteley is Associate Professor at the Department of Computer Science and Governing Body Fellow of Linacre College, the University of Oxford, UK.

Keywords

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

Authors and Affiliations

  • University of Oxford, Oxford, United Kingdom

    Joe Pitt-Francis, Jonathan Whiteley

About the authors

Dr. Joe Pitt-Francis is a Departmental Lecturer at the Department of Computer Science and teaches Computer Science at Exeter College, the University of Oxford, UK.

Prof. Jonathan Whiteley is Associate Professor at the Department of Computer Science and Governing Body Fellow of Linacre College, the University of Oxford, UK.

Bibliographic Information

Buying options

eBook
USD 44.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-73132-2
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD 59.99
Price excludes VAT (USA)