C++ and Object-Oriented Numeric Computing for Scientists and Engineers - Daoqi Yang

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

(Autor)

Buch | Softcover
440 Seiten
2012 | Softcover reprint of the original 1st ed. 2001
Springer-Verlag New York Inc.
978-1-4612-6566-5 (ISBN)
69,54 inkl. MwSt
This book is intended to be an easy, concise, but rather complete, introduc­ the ISO/ANSI C++ programming language with special empha­ tion to sis on object-oriented numeric computation for students and professionals in science and engineering. The description of the language is platform­ independent. Thus it applies to different operating systems such as UNIX, Linux, MacOS, Windows, and DOS, as long as a standard C++ compiler is equipped. The prerequisite of this book is elementary knowledge of cal­ culus and linear algebra. However, this prerequisite is hardly necessary if this book is going to be used as a textbook for teaching C++ and all the sections on numeric methods are skipped. Programming experience in an­ other language such as FORTRAN, C, Ada, Pascal, Maple, or Matlab will certainly help, but is not presumed. All C++ features are introduced in an easy way through concepts such as functions, complex numbers, vectors, matrices, and integrals, which are familiar to every student and professional in science and engineering. In the final chapter, advanced features that are not found in FORTRAN, C, Ada, or Matlab, are illustrated in the context of iterative algorithms for linear systems such as the preconditioned conjugate gradient (CG) method and generalized minimum residual (GMRES) method. Knowledge of CG, GMRES, and preconditioning techniques is not presumed and they are ex­ plained in detail at the algorithmic level.

1 Basic Types.- 1.1 A Sample Program.- 1.2 Types and Declarations.- 1.3 Basic Types.- 1.4 Numeric Limits.- 1.5 Identifiers and Keywords.- 1.6 Exercises.- 2 Expressions and Statements.- 2.1 Scopes and Storage Classifications.- 2.2 Expressions.- 2.3 Statements.- 2.4 Fibonacci Number.- 2.5 Exercises.- 3 Derived Types.- 3.1 Constants and Macros.- 3.2 Enumerations.- 3.3 Arrays.- 3.4 Structures.- 3.5 Unions and Bit Fields.- 3.6 Pointers.- 3.7 References.- 3.8 Functions.- 3.9 Program Execution.- 3.10 Operator Summary and Precedence.- 3.11 Standard Library on Mathematical Functions.- 3.12 Polynomial Evaluation.- 3.13 Trapezoidal and Simpson’s Rules.- 3.14 Exercises.- 4 Namespaces and Files.- 4.1 Namespaces.- 4.2 Include Files.- 4.3 Source Files and Linkages.- 4.4 Some Useful Tools.- 4.5 Standard Library on Strings.- 4.6 Standard Library on Streams.- 4.7 Iterative Methods for Nonlinear Equations.- 4.8 Exercises.- 5 Classes.- 5.1 Class Declarations and Definitions.- 5.2 Copy Constructors and Copy Assignments.- 5.3 Friends.- 5.4 Static Members.- 5.5 Constant and Mutable Members.- 5.6 Class Objects as Members.- 5.7 Array of Classes.- 5.8 Pointers to Members.- 5.9 Numeric Methods for Ordinary Differential Equations.- 5.10 Exercises.- 6 Operator Overloading.- 6.1 Complex Numbers.- 6.2 Operator Functions.- 6.3 Vectors and Matrices.- 6.4 Explicit and Implicit Conversions.- 6.5 Efficiency and Operator Overloading.- 6.6 Conjugate Gradient Algorithm.- 6.7 Exercises.- 7 Templates.- 7.1 Class Templates.- 7.2 Function Templates.- 7.3 Template Source Code Organization.- 7.4 Standard Library on Complex Numbers.- 7.5 Standard Library on valarrays.- 7.6 Standard Library on Numeric Algorithms.- 7.7 Efficient Techniques for Numeric Integration.- 7.8 Polynomial Interpolation.- 7.9 Exercises.- 8Class Inheritance.- 8.1 Derived Classes.- 8.2 Abstract Classes.- 8.3 Access Control.- 8.4 Multiple Inheritance.- 8.5 Run-Time Type Information.- 8.6 Replacing Virtual Functions by Static Polymorphism.- 8.7 Exercises.- 9 Exception Handling.- 9.1 Throw and Catch.- 9.2 Deriving Exceptions.- 9.3 Catching Exceptions.- 9.4 Specifying Exceptions in Functions.- 9.5 Standard Exceptions.- 9.6 Exercises.- 10 Standard Libraries on Containers and Algorithms.- 10.1 Standard Containers.- 10.2 Standard Algorithms.- 10.3 Standard Function Objects and Adaptors.- 10.4 Exercises.- 11 Linear System Solvers.- 11.1 Matrix Storage Formats.- 11.2 A Class Hierarchy for Matrices.- 11.3 Iterative Algorithms.- 11.4 Gauss Elimination.- 11.5 Finite Difference Method for Partial Differential Equations.- 11.6 Exercises.- References.

¿This is one of the few good application-oriented C++ books that I have come across for students and professionals in mathematics, science, and engineering....Yang makes it attractive to all professionals in these fields and promotes the use of good objects-oriented programming practices....This book is complete and well written....it can promote good design practices amoud students in science and engineering. Its precision can make it a valuable reference for professionals in these areas.¿¿ACM COMPUTER REVIEWS

Zusatzinfo XVIII, 440 p.
Verlagsort New York, NY
Sprache englisch
Maße 155 x 235 mm
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Theorie / Studium Compilerbau
Mathematik / Informatik Mathematik Analysis
Naturwissenschaften Physik / Astronomie Allgemeines / Lexika
ISBN-10 1-4612-6566-5 / 1461265665
ISBN-13 978-1-4612-6566-5 / 9781461265665
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und Anwendungen

von Hanspeter Mössenböck

Buch | Softcover (2024)
dpunkt (Verlag)
29,90
a beginner's guide to learning llvm compiler tools and core …

von Kai Nacke

Buch | Softcover (2024)
Packt Publishing Limited (Verlag)
49,85