Somewhat regularly, I deliver topical material in scientific computing consistent with the course. * **MATH307. INTRODUCTION TO SCIENTIFIC COMPUTING. 3.0 Semester Hrs.** * This course is designed to introduce scientific computing to scientists and engineers. Students in this course will be taught various numerical methods and programming techniques to solve basic scientific problems. Emphasis will be made on implementation of various numerical and approximation methods to efficiently simulate several applied mathematical models. 3 hours lecture; 3 semester hours. Prerequisite: MATH213 or MATH223; CSCI102 or CSCI128 or CSCI200. Co-requisite: MATH225 or MATH235. * Course Learning Outcomes - Implement algorithms in Matlab to approximate solutions to problems. - Select appropriate algorithms for specific problems. - Calculate error bounds on certain numerical approximations. With the advent of Generative AI (GenAI), I tend to be agnostic relative to the programming language students use. While there are pros/cons to each, all major environments can handle the calculations here, and my code demonstrations will be provided in: - MatLab/Octave, - Python, - R, - Mathematica, which we will use to study the following topics: 1. Functions, plotting of functions, Taylor series, polynomial, and remainder, generalizations * <u>Pre-requisite content</u>: Pre-calculus, single variable calculus, series, and sequence * <u>Additional material for understanding and generalization</u>: Linear algebra for two-by-two matrices, machine numbers, and their relationship to the real number system 2. Numerical integration and applications * <u>Pre-requisite content</u>: Calculus and multivariate calculus * <u>Additional material for understanding and generalization</u>: Fourier series/basis and Fourier transform, probability density functions 3. Numerical approximation to ODE * <u>Pre-requisite content</u>: First-order initial value problems (scalar and system) * <u>Additional material for understanding and generalization</u>: Physical understanding of the mass-spring and pendulum systems, second-order linear autonomous IVP dynamics 4. Interpolation, splines, and regression * <u>Pre-requisite content</u>: Taylor series * <u>Additional material for understanding and generalization</u>: Function sampling, linear algebra # Current Materials * MATH307Su26 * Lectured material and links to reflections * [[(307Su26) Day 1 - Functions, sampling, plotting, and manipulation]] * [[(307Su26) Day 2 - Plot refinements and naive root finding]] * [[(307Su26) Day 3 - Taylor series, quadratic root finding, and finite differences]] * [[(307Su26) Day 4 - Taylor polynomials and finite-difference approximations]] * [[(307Su26) Day 5 - Second-derivative finite differences and the Taylor remainder]] * [[(307Su26) Day 6 - Root finding and the start of machine precision]] * [[(307Su26) Day 7 - Round-off, machine epsilon, and Newton's convergence]] * [[(307Su26) Day 8 - Finite-difference stencils by linear systems, noise, and Newton wrap-up]] * [[(307Su26) Day 9 - Just enough linear algebra - transformations, the column picture, and the determinant]] * [[(307Su26) Day 10 - Eigenvalues and eigenvectors - a matrix's natural coordinates]] * [[(307Su26) Day 11 - Eigen-data meets Taylor series, and the start of numerical integration]] * [[(307Su26) Day 12 - The composite trapezoid rule, coded, and the start of error analysis]] - [[(307Su26) Day 13 - The trapezoid error bound, and the start of Simpson's method]] - [[(307Su26) Day 14 - Super-algebraic convergence, Simpson's method coded, and matrix multiplication]] - [[(307Su26) Day 15 - Adaptive Simpson's method, and the start of initial value problems]] - [[(307Su26) Day 16 - Euler's method for systems]] - [[(307Su26) Day 17 - Runge-Kutta methods, RK2 and RK4]] - [[(307Su26) Day 18 - Consolidating IVP solvers, and adaptive Runge-Kutta-Fehlberg]] - [[(307Su26) Day 19 - Polynomial interpolation and the Lagrange form]] - [[(307Su26) Day 20 - Cubic splines and natural boundary conditions]] - [[(307Su26) Day 21 - Splines, interpolation, and the start of regression]] - [[(307Su26) Day 22 - Newton for systems, the Hessian, and nested quadrature]] * [[MATH307Su26 - Assignments]] * [[Teaching/MATH307/Projects/MATH307Su25 - Projects|MATH307Su25 - Projects]] (currently being updated to Su26 deliverable format) # Archival Materials - MATH307Su22 - MATH307Su24 - MATH307Su25