𝔖 Scriptorium
✦   LIBER   ✦

📁

An Introduction to Scientific Computing with MATLAB® and Python Tutorials

✍ Scribed by Sheng Xu


Publisher
Chapman and Hall/CRC
Year
2022
Tongue
English
Leaves
398
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


This textbook is written for the first introductory course on scientific computing. It covers elementary numerical methods for linear systems, root finding, interpolation, numerical integration, numerical differentiation, least squares problems, initial value problems and boundary value problems. It includes short Matlab and Python tutorials to quickly get students started on programming. It makes the connection between elementary numerical methods with advanced topics such as machine learning and parallel computing.

This textbook gives a comprehensive and in-depth treatment of elementary numerical methods. It balances the development, implementation, analysis and application of a fundamental numerical method by addressing the following questions.

•Where is the method applied?
•How is the method developed?
•How is the method implemented?
•How well does the method work?

The material in the textbook is made as self-contained and easy-to-follow as possible with reviews and remarks. The writing is kept concise and precise. Examples, figures, paper-and-pen exercises and programming problems are deigned to reinforce understanding of numerical methods and problem-solving skills.

✦ Table of Contents


Cover
Half Title
Title Page
Copyright Page
Dedication
Contents
Preface
Author
1. An Overview of Scientific Computing
1.1. What Is Scientific Computing?
1.2. Errors in Scientific Computing
1.2.1. Absolute and Relative Errors
1.2.2. Upper Bounds
1.2.3. Sources of Errors
1.3. Algorithm Properties
1.4. Exercises
2. Taylor’s Theorem
2.1. Polynomials
2.1.1. Polynomial Evaluation
2.2. Taylor’s Theorem
2.2.1. Taylor Polynomials
2.2.2. Taylor Series
2.2.3. Taylor’s Theorem
2.3. Alternating Series Theorem
2.4. Exercises
2.5. Programming Problems
3. Roundoff Errors and Error Propagation
3.1. Numbers
3.1.1. Integers
3.2. Floating-Point Numbers
3.2.1. Scientific Notation and Rounding
3.2.2. DP Floating-Point Representation
3.3. Error Propagation
3.3.1. Catastrophic Cancellation
3.3.2. Algorithm Stability
3.4. Exercises
3.5. Programming Problems
4. Direct Methods for Linear Systems
4.1. Matrices and Vectors
4.2. Triangular Systems
4.3. GE and A=LU
4.3.1. Elementary Matrices
4.3.2. A=LU
4.3.3. Solving Ax = b by A=LU
4.4. GEPP and PA=LU
4.4.1. GEPP
4.4.2. PA=LU
4.4.3. Solving Ax = b by PA=LU
4.5. Tridiagonal Systems
4.6. Conditioning of Linear Systems
4.6.1. Vector and Matrix Norms
4.6.2. Condition Numbers
4.6.3. Error and Residual Vectors
4.7. Software
4.8. Exercises
4.9. Programming Problems
5. Root Finding for Nonlinear Equations
5.1. Roots and Fixed Points
5.2. The Bisection Method
5.3. Newton’s Method
5.3.1. Convergence Analysis of Newton’s Method
5.3.2. Practical Issues of Newton’s Method
5.4. Secant Method
5.5. Fixed-Point Iteration
5.6. Newton’s Method for Systems of Nonlinear Equations
5.6.1. Taylor’s Theorem for Multivariate Functions
5.6.2. Newton’s Method for Nonlinear Systems
5.7. Unconstrained Optimization
5.8. Software
5.9. Exercises
5.10. Programming Problems
6. Interpolation
6.1. Terminology of Interpolation
6.2. Polynomial Space
6.2.1. Chebyshev Basis
6.2.2. Legendre Basis
6.3. Monomial Interpolation
6.4. Lagrange Interpolation
6.5. Newton’s Interpolation
6.6. Interpolation Error
6.6.1. Error in Polynomial Interpolation
6.6.2. Behavior of Interpolation Error
6.6.2.1. Equally-Spaced Nodes
6.6.2.2. Chebyshev Nodes
6.7. Spline Interpolation
6.7.1. Piecewise Linear Interpolation
6.7.2. Cubic Spline
6.7.3. Cubic Spline Interpolation
6.8. Discrete Fourier Transform (DFT)
6.9. Exercises
6.10. Programming Problems
7. Numerical Integration
7.1. Definite Integrals
7.2. Numerical Integration
7.2.1. Change of Intervals
7.3. The Midpoint Rule
7.3.1. Degree of Precision (DOP)
7.3.2. Error of the Midpoint Rule
7.4. The Trapezoidal Rule
7.5. Simpson’s Rule
7.6. Newton-Cotes Rules
7.7. Gaussian Quadrature Rules
7.8. Other Numerical Integration Techniques
7.8.1. Integration with Singularities
7.8.2. Adaptive Integration
7.9. Exercises
7.10. Programming Problems
8. Numerical Differentiation
8.1. Differentiation Using Taylor’s Theorem
8.1.1. The Method of Undetermined Coefficients
8.2. Differentiation Using Interpolation
8.2.1. Differentiation Using DFT
8.3. Richardson Extrapolation
8.4. Exercises
8.5. Programming Problems
9. Initial Value Problems and Boundary Value Problems
9.1. Initial Value Problems (IVPs)
9.1.1. Euler’s Method
9.1.1.1. Local Truncation Error and Global Error
9.1.1.2. Consistency, Convergence and Stability
9.1.1.3. Explicit and Implicit Methods
9.1.2. Taylor Series Methods
9.1.3. Runge-Kutta (RK) Methods
9.2. Boundary Value Problems (BVPs)
9.2.1. Finite Difference Methods
9.2.1.1. Local Truncation Error and Global Error
9.2.1.2. Consistency, Stability and Convergence
9.3. Exercises
9.4. Programming Problems
10. Basic Iterative Methods for Linear Systems
10.1. Jacobi and Gauss-Seidel Methods
10.1.1. Jacobi Method
10.1.2. Gauss-Seidel (G-S) Method
10.2. Convergence Analysis
10.3. Other Iterative Methods
10.4. Exercises
10.5. Programming Problems
11. Discrete Least Squares Problems
11.1. The Discrete LS Problems
11.2. The Normal Equation by Calculus
11.3. The Normal Equation by Linear Algebra
11.4. LS Problems by A=QR
11.5. Artificial Neural Network
11.6. Exercises
11.7. Programming Problems
12. Monte Carlo Methods and Parallel Computing
12.1. Monte Carlo Methods
12.2. Parallel Computing
12.3. Exercises
12.4. Programming Problems
Appendices
A. An Introduction of MATLAB for Scientific Computing
A.1. What is MATLAB?
A.1.1. Starting MATLAB
A.1.2. MATLAB as an Advanced Calculator
A.1.3. Order of Operations
A.1.4. MATLAB Built-in Functions and Getting Help
A.1.5. Keeping a Record for the Command Window
A.1.6. Making M-Scripts
A.2. Variables, Vectors and Matrices
A.2.1. Variables
A.2.2. Suppressing Output
A.2.3. Vectors and Matrices
A.2.4. Special Matrices
A.2.5. The Colon Notation and linspace
A.2.6. Accessing Entries in a Vector or Matrix
A.3. Matrix Arithmetic
A.3.1. Scalar Multiplication
A.3.2. Matrix Addition
A.3.3. Matrix Multiplication
A.3.4. Transpose
A.3.5. Entry-wise Convenience Operations
A.4. Outputting/Plotting Results
A.4.1. disp
A.4.2. fprintf
A.4.3. plot
A.5. Loops and Decisions
A.5.1. for Loops
A.5.2. Logicals and Decisions
A.5.3. while Loops
A.6. Functions
A.6.1. M-Functions
A.6.2. Anonymous Functions
A.6.3. Passing Functions to Functions
A.7. Creating Live Scripts in the Live Editor
A.8. Concluding Remarks
A.9. Programming Problems
B. An Introduction of Python for Scientific Computing
B.1. What is Python?
B.1.1. Starting Python
B.1.2. Python as an Advanced Calculator
B.1.3. Python Programs
B.2. Variables, Lists and Dictionaries
B.2.1. Variables
B.2.2. Lists
B.2.3. Dictionaries
B.3. Looping and Making Decisions
B.3.1. for Loops
B.3.2. if Statements
B.3.3. while Loops
B.3.4. break and continue in Loops
B.4. Functions
B.4.1. Passing Arguments
B.4.2. Passing Lists
B.5. Classes
B.5.1. Attributes
B.5.2. Methods
B.5.3. Inheritance
B.5.4. Objects as Attributes
B.6. Modules
B.7. numpy, scipy, matplotlib
B.7.1. numpy
B.7.2. scipy
B.7.3. matplotlib
B.8. Jupyter Notebook
B.9. Concluding Remarks
B.10. Programming Problems
Index


📜 SIMILAR VOLUMES


Computational Mathematics: An introducti
✍ Dimitrios Mitsotakis 📂 Library 📅 2023 🏛 Chapman and Hall/CRC 🌐 English

This textbook is a comprehensive introduction to computational mathematics and scientific computing suitable for undergraduate and postgraduate courses. It presents both practical and theoretical aspects of the subject, as well as advantages and pitfalls of classical numerical methods alongside with

An introduction to scientific computing:
✍ Ionut Danaila 📂 Library 📅 2007 🏛 Springer 🌐 English

This book demonstrates scientific computing by presenting twelve computational projects in several disciplines including Fluid Mechanics, Thermal Science, Computer Aided Design, Signal Processing and more. Each follows typical steps of scientific computing, from physical and mathematical description

An Introduction to Scientific Computing:
✍ Ionut Danaila, Pascal Joly, Sidi Mahmoud Kaber, Marie Postel (eds.) 📂 Library 📅 2007 🏛 Springer-Verlag New York 🌐 English

<p><P>This book provides twelve computational projects aimed at numerically solving problems from a broad range of applications including Fluid Mechanics, Chemistry, Elasticity, Thermal Science, Computer Aided Design, Signal and Image Processing. For each project the reader is guided through the typ

An Introduction to Scientific Computing
✍ Ionut Danaila; Pascal Joly; Sidi Mahmoud Kaber; Marie Postel 📂 Library 📅 2023 🏛 Springer International Publishing 🌐 English

This book demonstrates scientific computing by presenting twelve computational projects spanning a broad spectrum of disciplines including Fluid Mechanics, Chemistry, Elasticity, Thermal Science, Computer Aided Design, Signal and Image Processing and more. Each project guides the reader through typi

Introduction to Engineering and Scientif
✍ David E. Clough, Steven C. Chapra 📂 Library 📅 2022 🏛 CRC Press 🌐 English

<p><span>As more and more engineering departments and companies choose to use Python, this book provides an essential introduction to this open-source, free-to-use language. Expressly designed to support first-year engineering students, this book covers engineering and scientific calculations, Pytho