Online Public Access Catalogue (OPAC)
Library,Documentation and Information Science Division

“A research journal serves that narrow

borderland which separates the known from the unknown”

-P.C.Mahalanobis


Image from Google Jackets

Introduction to numerical programming : a practical guide for scientists and engineers using Python and C/C++ / Titus Adrien Beu.

By: Material type: TextTextSeries: Series in computational physicsPublication details: Boca Raton : CRC Press, ©2015.Description: xix, 653 pages : illustrations ; 26 cmISBN:
  • 9781466569676
Subject(s): DDC classification:
  • 005.133 23 B566
Contents:
Series Preface -- Preface -- Author -- Acknowledgments -- 1. Approximate Numbers -- 1.1. Sources of Errors in Numerical Calculations -- 1.2. Absolute and Relative Errors -- 1.3. Representation of Numbers -- 1.4. Significant Digits -- 1.5. Errors of Elementary Operations -- References and Suggested Further Reading -- 2. Basic Programming Techniques -- 2.1. Programming Concepts -- 2.2. Functions and Parameters -- 2.3. Passing Arguments to Python Functions -- 2.4. Passing Arguments to C/C++ Functions -- 2.5. Arrays in Python -- 2.6. Dynamic Array Allocation in C/C++ -- 2.7. Basic Matrix Operations -- References and Suggested Further Reading -- 3. Elements of Scientific Graphics -- 3.1. The Tkinter Package -- 3.2. The Canvas Widget -- 3.3. Simple Tkinter Applications -- 3.4. Plotting Functions of One Variable -- 3.5. Graphics Library graphlib.py -- 3.6. Creating Plots in C++ Using the Library graphlib.py -- References and Suggested Further Reading -- 4. Sorting and Indexing -- 4.1. Introduction -- 4.2. Bubble Sort -- 4.3. Insertion Sort -- 4.4. Quicksort -- 4.5. Indexing and Ranking -- 4.6. Implementations in C/C++ -- 4.7. Problems -- References and Suggested Further Reading -- 5. Evaluation of Functions -- 5.1. Evaluation of Polynomials by Horner's Scheme -- 5.2. Evaluation of Analytic Functions -- 5.3. Continued Fractions -- 5.4. Orthogonal Polynomials -- 5.5. Spherical Harmonics-Associated Legendre Functions -- 5.6. Spherical Bessel Functions -- 5.7. Implementations in C/C++ -- 5.8. Problems -- References and Suggested Further Reading -- 6. Algebraic and Transcendental Equations -- 6.1. Root Separation -- 6.2. Bisection Method -- 6.3. Method of False Position -- 6.4. Method of Successive Approximations -- 6.5. Newton's Method -- 6.6. Secant Method -- 6.7. Birge-Vieta Method -- 6.8. Newton's Method for Systems of Nonlinear Equations -- 6.9. Implementations in C/C++ -- 6.10. Problems -- References and Suggested Further Reading -- 7. Systems of Linear Equations -- 7.1. Introduction -- 7.2. Gaussian Elimination with Backward Substitution -- 7.3. Gauss-Jordan Elimination -- 7.4. LU Factorization -- 7.5. Inversion of Triangular Matrices -- 7.6. Cholesky Factorization -- 7.7. Tridiagonal Systems of Linear Equations -- 7.8. Block Tridiagonal Systems of Linear Equations -- 7.9. Complex Matrix Equations -- 7.10. Jacobi and Gauss-Seidel Iterative Methods -- 7.11. Implementations in C/C++ -- 7.12. Problems -- References and Suggested Further Reading -- 8. Eigenvalue Problems -- 8.1. Introduction -- 8.2. Diagonalization of Matrices by Similarity Transformations -- 8.3. Jacobi Method -- 8.4. Generalized Eigenvalue Problems for Symmetric Matrices -- 8.5. Implementations in C/C++ -- 8.6. Problems -- References and Suggested Further Reading -- 9. Modeling of Tabulated Functions -- 9.1. Interpolation and Regression -- 9.2. Lagrange Interpolation Polynomial -- 9.3. Neville's Interpolation Method -- 9.4. Cubic Spline Interpolation -- 9.5. Linear Regression -- 9.6. Multilinear Regression Models -- 9.7. Nonlinear Regression: The Levenberg-Marquardt Method -- 9.8. Implementations in C/C++ -- 9.9. Problems -- References and Suggested Further Reading -- 10. Integration of Functions -- 10.1. Introduction -- 10.2. Trapezoidal Rule; A Heuristic Approach -- 10.3. The Newton-Cotes Quadrature Formulas -- 10.4. Trapezoidal Rule -- 10.5. Simpson's Rule -- 10.6. Adaptive Quadrature Methods -- 10.7. Romberg's Method -- 10.8. Improper Integrals: Open Formulas -- 10.9. Midpoint Rule -- 10.10. Gaussian Quadratures -- 10.11. Multidimensional Integration -- 10.12. Adaptive Multidimensional Integration -- 10.13. Implementations in C/C++ -- 10.14. Problems -- References and Suggested Further Reading -- 11. Monte Carlo Method -- 11.1. Introduction -- 11.2. Integration of Functions -- 11.3. Importance Sampling -- 11.4. Multidimensional Integrals -- 11.5. Generation of Random Numbers -- 11.6. Implementations in C/C++ -- 11.7. Problems -- References and Suggested Further Reading -- 12. Ordinary Differential Equations -- 12.1. Introduction -- 12.2. Taylor Series Method -- 12.3. Euler's Method -- 12.4. Runge-Kutta Methods -- 12.5. Adaptive Step Size Control -- 12.6. Methods for Second-Order ODEs -- 12.7. Numerov's Method -- 12.8. Shooting Methods for Two-Point Problems -- 12.9. Finite-Difference Methods for Linear Two-Point Problems -- 12.10. Implementations in C/C++ -- 12.11. Problems -- References and Suggested Further Reading -- 13. Partial Differential Equations -- 13.1. Introduction -- 13.2. Boundary-Value Problems for Elliptic Differential Equations -- 13.3. Initial-Value Problems for Parabolic Differential Equations -- 13.4. Time-Dependent Schrodinger Equation -- 13.5. Initial-Value Problems for Hyperbolic Differential Equations -- 13.6. Implementations in C/C++ -- 13.7. Problems -- References and Suggested Further Reading -- Appendix A. Dynamic Array Allocation in C/C++ -- Appendix B. Basic Operations with Vectors and Matrices -- Appendix C. Embedding Python in C/C++ -- Appendix D. The Numerical Libraries numxlib.py and numxlib. h -- Appendix E. The Graphics Library graphlib.py Based on Tkinter -- Appendix F. The C++ Interface to the Graphics Library graphlib.py -- Appendix G. List of Programs by Chapter -- Index.
Summary: "This book introduces numerical programming using Python and C/C++, emphasizing methods used in physics and engineering. Its helps readers develop the ability to navigate relevant algorithms, knowledge of coding design, and efficient scientific programming skills. It requires minimal background in mathematics, leading readers from elementary methods to complex algorithms useful in modern programming. It incorporates examples and real code throughout, as well as problem sets, to facilitate a hands-on learning experience. "--Summary: "This book is devoted to the general field of numerical programming, with emphasis on methods specific to computational physics and engineering. While tremendous advances of computer performances have been achieved in recent years, numerical methods still remain virtually inexhaustible resources for extending the range of challenging real-life problems made tractable. Along these lines, the book sets as its primordial goal to contribute to fostering interest in numerical programming by making computations accessible and appealing to broader categories of scientists and engineers. I have written this book for advanced undergraduate and graduate students in natural sciences and engineering, with the aim of being suited as curriculum material for a one- or two-semester course in numerical programming based on Python or C/C++. The book may also be used for independent study or as a reference material beyond academic studies. It may be useful, for instance, as an introductory text for researchers preparing to engage in scientific computing, or engineers needing effective numerical tools for applicative calculations. I have placed emphasis on the rigorous, yet accessible presentation of the fundamental numerical methods, which are complemented with implementations and applications, highlighting specific numerical behavior and often featuring graphical output. Although the material requires basic knowledge of calculus, linear algebra, and differential equations, it does not assume previous acquaintance with numerical techniques, leading the reader all the way from elementary algorithms to elaborate methods of relevance for modern numerical programming"--
Tags from this library: No tags from this library for this title. Log in to add tags.

Includes bibliographical references and index.

Series Preface --
Preface --
Author --
Acknowledgments --
1. Approximate Numbers --
1.1. Sources of Errors in Numerical Calculations --
1.2. Absolute and Relative Errors --
1.3. Representation of Numbers --
1.4. Significant Digits --
1.5. Errors of Elementary Operations --
References and Suggested Further Reading --
2. Basic Programming Techniques --
2.1. Programming Concepts --
2.2. Functions and Parameters --
2.3. Passing Arguments to Python Functions --
2.4. Passing Arguments to C/C++ Functions --
2.5. Arrays in Python --
2.6. Dynamic Array Allocation in C/C++ --
2.7. Basic Matrix Operations --
References and Suggested Further Reading --
3. Elements of Scientific Graphics --
3.1. The Tkinter Package --
3.2. The Canvas Widget --
3.3. Simple Tkinter Applications --
3.4. Plotting Functions of One Variable --
3.5. Graphics Library graphlib.py --
3.6. Creating Plots in C++ Using the Library graphlib.py --
References and Suggested Further Reading --
4. Sorting and Indexing --
4.1. Introduction --
4.2. Bubble Sort --
4.3. Insertion Sort --
4.4. Quicksort --
4.5. Indexing and Ranking --
4.6. Implementations in C/C++ --
4.7. Problems --
References and Suggested Further Reading --
5. Evaluation of Functions --
5.1. Evaluation of Polynomials by Horner's Scheme --
5.2. Evaluation of Analytic Functions --
5.3. Continued Fractions --
5.4. Orthogonal Polynomials --
5.5. Spherical Harmonics-Associated Legendre Functions --
5.6. Spherical Bessel Functions --
5.7. Implementations in C/C++ --
5.8. Problems --
References and Suggested Further Reading --
6. Algebraic and Transcendental Equations --
6.1. Root Separation --
6.2. Bisection Method --
6.3. Method of False Position --
6.4. Method of Successive Approximations --
6.5. Newton's Method --
6.6. Secant Method --
6.7. Birge-Vieta Method --
6.8. Newton's Method for Systems of Nonlinear Equations --
6.9. Implementations in C/C++ --
6.10. Problems --
References and Suggested Further Reading --
7. Systems of Linear Equations --
7.1. Introduction --
7.2. Gaussian Elimination with Backward Substitution --
7.3. Gauss-Jordan Elimination --
7.4. LU Factorization --
7.5. Inversion of Triangular Matrices --
7.6. Cholesky Factorization --
7.7. Tridiagonal Systems of Linear Equations --
7.8. Block Tridiagonal Systems of Linear Equations --
7.9. Complex Matrix Equations --
7.10. Jacobi and Gauss-Seidel Iterative Methods --
7.11. Implementations in C/C++ --
7.12. Problems --
References and Suggested Further Reading --
8. Eigenvalue Problems --
8.1. Introduction --
8.2. Diagonalization of Matrices by Similarity Transformations --
8.3. Jacobi Method --
8.4. Generalized Eigenvalue Problems for Symmetric Matrices --
8.5. Implementations in C/C++ --
8.6. Problems --
References and Suggested Further Reading --
9. Modeling of Tabulated Functions --
9.1. Interpolation and Regression --
9.2. Lagrange Interpolation Polynomial --
9.3. Neville's Interpolation Method --
9.4. Cubic Spline Interpolation --
9.5. Linear Regression --
9.6. Multilinear Regression Models --
9.7. Nonlinear Regression: The Levenberg-Marquardt Method --
9.8. Implementations in C/C++ --
9.9. Problems --
References and Suggested Further Reading --
10. Integration of Functions --
10.1. Introduction --
10.2. Trapezoidal Rule; A Heuristic Approach --
10.3. The Newton-Cotes Quadrature Formulas --
10.4. Trapezoidal Rule --
10.5. Simpson's Rule --
10.6. Adaptive Quadrature Methods --
10.7. Romberg's Method --
10.8. Improper Integrals: Open Formulas --
10.9. Midpoint Rule --
10.10. Gaussian Quadratures --
10.11. Multidimensional Integration --
10.12. Adaptive Multidimensional Integration --
10.13. Implementations in C/C++ --
10.14. Problems --
References and Suggested Further Reading --
11. Monte Carlo Method --
11.1. Introduction --
11.2. Integration of Functions --
11.3. Importance Sampling --
11.4. Multidimensional Integrals --
11.5. Generation of Random Numbers --
11.6. Implementations in C/C++ --
11.7. Problems --
References and Suggested Further Reading --
12. Ordinary Differential Equations --
12.1. Introduction --
12.2. Taylor Series Method --
12.3. Euler's Method --
12.4. Runge-Kutta Methods --
12.5. Adaptive Step Size Control --
12.6. Methods for Second-Order ODEs --
12.7. Numerov's Method --
12.8. Shooting Methods for Two-Point Problems --
12.9. Finite-Difference Methods for Linear Two-Point Problems --
12.10. Implementations in C/C++ --
12.11. Problems --
References and Suggested Further Reading --
13. Partial Differential Equations --
13.1. Introduction --
13.2. Boundary-Value Problems for Elliptic Differential Equations --
13.3. Initial-Value Problems for Parabolic Differential Equations --
13.4. Time-Dependent Schrodinger Equation --
13.5. Initial-Value Problems for Hyperbolic Differential Equations --
13.6. Implementations in C/C++ --
13.7. Problems --
References and Suggested Further Reading --
Appendix A. Dynamic Array Allocation in C/C++ --
Appendix B. Basic Operations with Vectors and Matrices --
Appendix C. Embedding Python in C/C++ --
Appendix D. The Numerical Libraries numxlib.py and numxlib. h --
Appendix E. The Graphics Library graphlib.py Based on Tkinter --
Appendix F. The C++ Interface to the Graphics Library graphlib.py --
Appendix G. List of Programs by Chapter --
Index.

"This book introduces numerical programming using Python and C/C++, emphasizing methods used in physics and engineering. Its helps readers develop the ability to navigate relevant algorithms, knowledge of coding design, and efficient scientific programming skills. It requires minimal background in mathematics, leading readers from elementary methods to complex algorithms useful in modern programming. It incorporates examples and real code throughout, as well as problem sets, to facilitate a hands-on learning experience. "--

"This book is devoted to the general field of numerical programming, with emphasis on methods specific to computational physics and engineering. While tremendous advances of computer performances have been achieved in recent years, numerical methods still remain virtually inexhaustible resources for extending the range of challenging real-life problems made tractable. Along these lines, the book sets as its primordial goal to contribute to fostering interest in numerical programming by making computations accessible and appealing to broader categories of scientists and engineers. I have written this book for advanced undergraduate and graduate students in natural sciences and engineering, with the aim of being suited as curriculum material for a one- or two-semester course in numerical programming based on Python or C/C++. The book may also be used for independent study or as a reference material beyond academic studies. It may be useful, for instance, as an introductory text for researchers preparing to engage in scientific computing, or engineers needing effective numerical tools for applicative calculations. I have placed emphasis on the rigorous, yet accessible presentation of the fundamental numerical methods, which are complemented with implementations and applications, highlighting specific numerical behavior and often featuring graphical output. Although the material requires basic knowledge of calculus, linear algebra, and differential equations, it does not assume previous acquaintance with numerical techniques, leading the reader all the way from elementary algorithms to elaborate methods of relevance for modern numerical programming"--

There are no comments on this title.

to post a comment.
Library, Documentation and Information Science Division, Indian Statistical Institute, 203 B T Road, Kolkata 700108, INDIA
Phone no. 91-33-2575 2100, Fax no. 91-33-2578 1412, ksatpathy@isical.ac.in