
Master numerical methods for engineers and scientists, including errors, Taylor series, root finding, simultaneous equations, curve fitting, numerical differentiation and integration, and numerical solution of ordinary and partial differential equations.
Explore how numerical methods face truncation and round-off errors, understand significant figures, floating-point representation, and how accuracy and precision affect results, with Taylor series truncation insights.
Use Taylor series to derive difference approximations and truncation error with delta x. Demonstrate error and stability in temperature distribution; keep alpha delta t over delta x squared ≤ 0.5.
Frame a root-finding problem from a velocity-time-diameter scenario, and compare bracketing and open methods to locate roots. Graph the function, set lower and upper bounds, and isolate the desired root.
apply interval halving, a simple bracketing method to locate roots by bracketing with x1 and x2, using the midpoint x3, and iterating until convergence, illustrated with f(x)=x^2-3.
Explore the worst-case error in interval halving by averaging x1 and x2 to determine x3. Learn the conservative true error bound (x2−x1)/2^n and the percent error (new−old)/new for code.
Apply linear interpolation to approximate roots by forming a straight line through x1 and f(x1) and x2 and f(x2), solve for x3 via similar triangles, and iterate to meet tolerance.
Learn fixed point iteration for solving f(x)=0 by rewriting as x=g(x), assess convergence with g'(ξ) and the error relation e_{n+1} ≈ g'(ξ)e_n, noting linear versus quadratic convergence.
Apply fixed-point iteration to find the root of f(x)=4 sin^2(x)−x by iterating x_{n+1}=4 sin^2(x_n) with an initial guess, and verify convergence as g′(x) remains below one.
Examine Newton's method, deriving the update x1 = x0 − f(x0)/f'(x0) from a tangent line and Taylor expansion, and note quadratic convergence except at multiple roots where convergence is linear.
Explore Newton's method through practical root-finding examples, including a sqrt(a) iteration, a Fortran implementation, convergence criteria, and contrasts between quadratic and linear convergence at a double root.
Explore the secant method as a two-point derivative approximation to Newton's method, using two initial guesses and a difference quotient, and learn a delta x modified secant for multiple roots.
Solve nonlinear two-equation systems with Newton's method by linearizing and updating x and y from a 2×2 linear system, using under-relaxation to aid convergence.
Explore solving linear systems arising from finite difference approximations, formulating Ax = B, and compare Cramer's rule to elimination methods, highlighting computational costs and the search for efficient solvers.
Explore matrix notation, dimensions, and key operations like addition and multiplication, including triangular, symmetric, and banded forms, and learn determinants and direct and iterative solvers such as Cramer's rule.
Learn to use Gauss elimination on augmented matrices, perform row operations to obtain an upper triangular form, then back-substitute to solve for x1, x2, x3 and verify the solution.
Use partial pivoting to avoid division by zero and round-off errors in elimination methods by swapping rows, enabling stable back substitution in ill conditioned systems while using double precision.
Learn lu decomposition, factorizing a matrix into a lower triangular l and an upper triangular u to solve x from b via forward and backward substitution.
Identify how vector and matrix norms measure length using the Euclidean norm, the square root of the sum of squares. Compute the condition number as ||A||·||A^{-1}|| to assess ill conditioning.
Explore iterative solvers for large sparse systems, including Jacobi, Gauss-Seidel, and over-relaxation, and learn about diagonal dominance and convergence criteria.
Analyze convergence of Jacobi and related methods by decomposing A into D, L, and U and formulating Jacobi iteration x^{k+1}=D^{-1}(b-(L+U)x^k). Assess convergence with the spectral radius and eigenvalues using Octave.
Run a three-by-three system in octave to analyze spectral radius and convergence for Jacobi and Gauss-Seidel across different omega values, examining largest eigenvalues and their impact on convergence.
Explore how Fortran code solves a linear system using Gauss-Seidel with spectral radius analysis, showing how relaxation parameter omega affects convergence, stability, and iteration counts.
Explore numerical differentiation with Taylor series to derive forward, backward, and central difference formulas, analyze truncation errors, and compare orders of accuracy and costs.
This lecture derives finite difference formulas for the second derivative from forward and backward expansions, yielding a central difference with delta x squared error and a one-sided second-order first-derivative approximation.
Explore how to approximate first derivative using forward, backward, and central finite differences, analyze errors, and observe that central difference is order dx^2, while forward and backward are order dx.
Apply numerical integration using the trapezoidal rule to estimate distance from velocity data, approximating the curve with linear segments between data points, including non-uniform spacing and accuracy considerations.
Explore the trapezoidal rule error using a Taylor series, deriving the local h^3 error for a single panel and the global h^2 error across many panels.
Apply Simpson's rules (1/3, 1/8, and 3/8) to numerically integrate by fitting an appropriate polynomial to evenly spaced data, with trapezoidal rule as a fallback.
Explore numerical integration using the trapezoidal rule and Simpson's one‑third rule to approximate the integral of f(x)=x^2 on [0,1], and analyze error convergence as the interval count increases.
Master Richardson extrapolation to boost numerical accuracy by combining two lower-order approximations computed with different grid spacings, canceling leading errors via Taylor series terms.
Learn curve fitting with least squares, Lagrange polynomials, and spline interpolation to obtain a best data representation, balancing residuals and noting that points may not lie on the fit.
Perform a linear least squares fit to data by minimizing squared residuals, solve the normal equations for a and b, yielding a = 39/28 and b = 277/28.
Quantify the error of a linear least-squares fit using the sum of squared residuals and r squared; compare the standard deviation about the mean to the linear fit.
Apply quadratic least squares to fit data with y equals a plus b x plus c x squared, solving the normal equations for a, b, and c.
Apply exponential least squares by transforming y = a x^b into a linear form with log scales, solve for transformed coefficients, then convert back to a and b.
Use Lagrange interpolation to build a polynomial that passes through all data points, starting with a cubic for four points and forming basis polynomials to determine coefficients.
Apply linear spline interpolation by fitting order-one polynomials between adjacent data points. Compute each interval’s slope as rise over run to interpolate between points, avoiding overshoots.
We compare linear, quadratic, and cubic splines, enforcing first-derivative continuity at interior nodes. A four-point example shows quadratic is linear on the first interval and cubic with smooth joins.
Motivation:
Many, if not most, mathematical formulations resulting from the application of physical laws in science and engineering are not amenable to analytic solutions. This leads to a numerical approach which generally involves the formulation of problems so that they may be solved using what is typically a large number of arithmetic operations, ideally suited for programming on a computer. Numerical methods are also widely employed in fields of finance and economics.
This Course:
This is a first course in applied numerical methods for engineering and science university students, or those interested in a refresher course in numerical methods. It may also be of interest to students with interests in the fields of finance and economics. Course content is aimed toward students at the sophomore or junior level who have a basic knowledge of calculus and computer programming. Topics covered include errors and Taylor series expansions, root finding, solution of systems of linear and nonlinear equations, numerical differentiation and integration, and curve fitting. The subject of numerical solutions to ordinary and partial differential equations is covered in a separate course as is the subject of optimization. To receive the most benefit from this course, students should have completed a basic calculus class and have access to a computer with a programming language installed. Codes are available for download in both Fortran and Python languages, while Octave is used for graphics. All PowerPoint slides used in the lectures are also available for download.