An Introduction to Scientific Computing with Matlab and Python Tutorials
by Sheng Xu
- Length: 381 pages
- Edition: 1
- Language: English
- Publisher: Chapman & Hall
- Publication Date: 2022-06-09
- ISBN-10: 1032063157
- ISBN-13: 9781032063157
- Sales Rank: #0 (See Top 100 Books)
This textbook covers essential numerical techniques including basic methods for linear systems, root finding, interpolation, numerical integration and differentiation, least squares and Monte Carlo methods. This book balances the development, implementation, application and analysis of computational ideas and methods.
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
Donate to keep this site alive
To access the Link, solve the captcha.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.