Guide to Scientific Computing in C++ (2nd Ed., 2nd ed. 2017)
Undergraduate Topics in Computer Science Series

Authors:

Language: English

52.74 €

In Print (Delivery period: 15 days).

Add to cartAdd to cart
Publication date:
Support: Print on demand

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.

Getting Started

Flow of Control

File Input and Output

Pointers

Blocks, Functions and Reference Variables

An Introduction to Classes

Inheritance and Derived Classes

Templates

Errors, Exceptions and Testing

Developing Classes for Linear Algebra Calculations

An Introduction to Parallel Programming Using MPI

Designing Object-Oriented Numerical Libraries

Linear Algebra

Other Programming Constructs You Might Meet

Solutions to Exercises

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.

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