1st Edition

Mathematical Objects in C++ Computational Tools in A Unified Object-Oriented Approach

By Yair Shapira Copyright 2009
    636 Pages 130 B/W Illustrations
    by CRC Press

    636 Pages 130 B/W Illustrations
    by CRC Press

    Emphasizing the connection between mathematical objects and their practical C++ implementation, this book provides a comprehensive introduction to both the theory behind the objects and the C and C++ programming. Object-oriented implementation of three-dimensional meshes facilitates understanding of their mathematical nature. Requiring no prerequisites, the text covers discrete mathematics, data structures, and computational physics, including high-order discretization of nonlinear equations. Exercises and solutions make the book suitable for classroom use and a supporting website supplies downloadable code.

    NUMBERS

    Natural Numbers

    Integer Numbers

    Rational Numbers

    Real Numbers

    Complex Numbers

    GEOMETRICAL OBJECTS

    Euclidean Geometry

    Analytic Geometry

    COMPOSITE MATHEMATICAL OBJECTS

    Sets

    Vectors and Matrices

    Multilevel Objects

    Graphs

    Polynomials

    INTRODUCTION TO C

    Basics of Programming

    Recursion

    INTRODUCTION TO C++

    Objects

    Vectors and Matrices

    Dynamic Vectors and Lists

    IMPLEMENTATION OF COMPUTATIONAL OBJECTS

    Trees

    Graphs

    Sparse Matrices

    Meshes

    Triangulation

    THREE-DIMENSIONAL APPLICATIONS

    Mesh of Tetrahedra

    Polynomials

    Sparse Polynomials

    Stiffness and Mass Matrices

    Splines

    Appendix: Solutions of Exercises

    References

    Index

    Exercises appear at the end of each chapter.

    Biography

    Yair Shapira is in the computer science department at Technion. His research interests include multigrid, preconditioning, and numerical methods.

    "This is an exciting book on mathematics on one hand and computer programming on the other, and the reader can concentrate on one of the topics or both. The mathematics part focuses on teaching mathematics through constructive algorithms, ready for computer implementation. I believe this is the future view of these classical mathematical subjects. Many will find this book a major refresher of the mathematics literature. The programming part of the book serves as a very good introduction to C and C++, using meaningful and motivating examples from mathematics. The book is full of useful exercises of various difficulty. This fact makes the book very suitable as a textbook for a mathematics or computer science course."
    —Hans Petter Langtangen, Simula Research Laboratory and University of Oslo, Norway