C++ and Object Oriented Numeric Computing for Scientists and Engineers

Daoqi Yang
Springer-Verlag, New York, 2001, ISBN: 0-387-98990-0, 450 pages, $49.95.
Paperback reprint, ISBN: 978-1461265665, New York, September 2012, $124.00 (details)
view cover     Order or see reader's reviews at Amazon.com
2012 Softcover Edition

(A Chinese translation of the book was published by People's Post and Telecommunications Publishing House, Beijing, China, 2002)

Preface, Table of Contents, and Chapter 1: postscript file and PDF file
Sample source code in the book: zip file (116KB) (last updated: 2001-09-05)
Errors in the book: Errata (last updated: 2002-11-15)

This book intends to be an easy, concise, but rather complete introduction to the ISO/ANSI C++ language, with applications to object oriented numeric computation for students and professionals in science and engineering. It introduces concepts, techniques, and standard libraries of C++ in a manner that is easy to understand using examples such as vectors, matrices, complex numbers, and integrals, which are familiar and useful to a typical student or professonal in science and engineering.

Besides introducing basic and advanced features of C++, the book contains an introduction and C++ programs for many numeric methods such as polynomial interpolation, numerical integration, direct and iterative algorithms for solving systems of linear equations in real and complex domains, methods for solving nonlinear equations, ordinary and partial differential equations with real and complex coefficients. These methods are fundamental in scientific and engineering computing.

This book gives numerous examples and techniques on how to reduce (C and Fortran style) run-time overhead and improve program efficiency and elegancy. Such techniques include function objects, deferred evaluation for operator overloading, expression templates, template metaprograms, and replacing certain virtual functions by templates. It also introduces tools on how to manage source files, create libraries, and debug and profile programs.

The book can be used as a textbook for students in science and engineering and a reference book for experienced scientific C++ programmers.

C++, What a Programming Language Should Be!

C++ Books and Resources
o) Bjarne Stroustrup, The C++ Programming Language (Third Edition), Addison-Wesley, 1997, ISBN 0-201-88954-4.
o) David Vandevoorde, C++ Solutions Addison-Wesley,1998, ISBN 0-201-30965-3. (This book provides answers to Bjarne Stroustrup's book above)
o) Lippman, Stanley B. and Josee Lajoie, C++ Primer, 4rd ed. Reading, Mass. Addison-Wesley, 2005. ISBN: 9780201721485.
o) ISO/ANSI C++ Standards
o) ANSI C info