James T. Smith


C++ Toolkit for Engineers and Scientists

International Thomson Computer Press, 1997


This book was a revised edition of C++ for Scientists and Engineers, Intertext/McGraw-Hill 1991. It covered exactly the same material, but used templates thoroughly in implementing the new version of the MSP mathematical software toolkit. In addition, exception-handling was implemented for all routines. The book contained a diskette with compiled MSP code and source code for demonstration programs.

QA76.73.C153S655  ISBN 1-85032-889-7

For the MSP source code send me $30 and I'll mail you a diskette.

The Computer Press branch of International Thompson no longer exists.  The book was republished by Springer as C++ Toolkit for Engineers and Scientists, Second edition.

Text errata
MSP corrections and updates
Table of contents



Text errata


pp. 372-373 Figure A.2 caption should be "Contents of optional diskette".


MSP corrections and updates


For this book, MSP was implemented with Borland C++ Version 4.0.  Since then, I have updated MSP, as described in the Second edition, using Borland C++ Version 5.0.  The source code diskette for the new edition also includes an adaptation to the Microsoft Visual C++ Win32 Console Applications environment, for all MSP features except hardware exception handling.


Table of Contents

For more detail, select a chapter:

1 Introduction 7 Matrix classes
2 Software organization 8 Matrix computations
3 Computing with scalars 9 Iterative solution of systems of equations
4 Solving scalar equations Appendix: Selected source code
5 Vector classes Bibliography
6 Polynomial classes  


1 Introduction

1.1 Who needs this book?

1.2 Working with software tools

1.3 This book's structure

1.4 C, C++, and Borland C++

1.5 This book's MSP software tool kit

1.6 References and further topics


2 Software organization

2.1 Software layers

2.2 C++ minor features

2.3 Overloading

2.4 Abstract data types and classes

2.5 Member and friend functions

2.6 Constructors and destructors

2.7 Derived classes

2.8 Exceptions


3 Computing with scalars

3.1 MSP General module

3.2 Integer arithmetic

3.3 Floating point arithmetic

3.4 Math.H Library functions

3.5 Complex.H Library functions

3.6 Testing Library functions

3.7 Handling Math.H exceptions

3.8 Handling floating point exceptions

3.9 MSP Scalar module

3.10 MSP ElemFunc module


4 Solving scalar equations

4.1 Preliminaries

4.2 Bisection method

4.3 Fixpoint iteration

4.4 Newton-Raphson iteration


5 Vector classes

5.1 Vector module infrastructure

5.2 Vector algebra functions

5.3 Vector module demonstration


6 Polynomial classes

6.1 Polynom module infrastructure

6.2 Polynomial algebra functions

6.3 Polynomial roots


7 Matrix classes

7.1 Matrix module infrastructure

7.2 Matrix algebra functions


8 Matrix computations

8.1 Systems of linear equations

8.2 Gauss elimination

8.3 Determinants

8.4 Gauss elimination software

8.5 General rectangular systems

8.6 Matrix inverses

8.7 Testing with Hilbert matrices

8.8 Eigenvalues


9 Iterative solution of systems of equations

9.1 Fixpoint iteration

9.2 Jacobi and Gauss-Seidel methods for linear systems

9.3 Newton's method for nonlinear systems


Appendix: Selected source code

A.1 Vector and matrix display output functions

A.2 MSP header files

A.3 Example mathematical function with intermediate output

A.4 Accompanying diskette





Back to Publications, James T. Smith home page, Department home page, University home page