/2018September

An introduction to mathematical computing in Python

Primary LanguageJupyter Notebook

MATH 210 Introduction to Mathematical Computing

MATH 210 at the University of British Columbia is an introduction to mathematical computing with Python and Jupyter. We start with basic Python programming including datatypes, logic, loops and functions and then we explore scientific computing packages NumPy, SciPy and Matplotlib. We use these packages to solve problems in calculus, linear algebra, differential equations and data visualization.

Lecture Notes

Date Notebook Topics Resources
September 5 notes-2018-09-05 Jupyter notebooks Jupyter
September 7 notes-2018-09-07 Markdown and LaTeX Markdown, LaTeX, math symbols and Detexify
September 10 notes-2018-09-10 Numbers, variables and sequences Python tutorial
September 12 notes-2018-09-12 Sequences, list comprehensions and series Sequences and series in Python, and list comprehensions
September 14 notes-2018-09-14 Series and functions Taylor series and functions
September 17 notes-2018-09-17 Functions and logic Functions and logic
September 19 notes-2018-09-19 Logic and loops Logic and loops
September 21 notes-2018-09-21 For loops and while loops Loops
September 24 notes-2018-09-24 Bisection method Roots and optimization and bisection method
September 26 notes-2018-09-26 Secant method Roots and optimization and secant method
September 28 notes-2018-09-28 Newton's method Roots and optimization and Newton's method
October 1 notes-2018-10-01 Introduction to SciPy SciPy, NumPy and Matplotlib
October 3 notes-2018-10-03 NumPy arrays NumPy tutorial, Matplotlib and (more) NumPy
October 5 notes-2018-10-05 More NumPy arrays NumPy arrays
October 10 notes-2018-10-10 Plotting with Matplotlib Pyplot commands
October 12 notes-2018-10-12 Riemann Sums Riemann sums
October 15 - Riemann Sums: Error Formulas Riemann sums
October 17 notes-2018-10-17 Trapezoid Rule Trapezoid rule
October 19 notes-2018-10-19 Trapezoid Rule: Error Formulas Trapezoid rule and nonelementary integrals
October 22 notes-2018-10-22 Example: Bessel Functions Trapezoid rule and Bessel functions
October 24 notes-2018-10-24 Numerical Differentiation Numerical differentiation and finite differences
October 26 notes-2018-10-26 Example: Arc length Arc length
October 29 notes-2018-10-29 Linear algebra with SciPy scipy.linalg documentation
November 2 notes-2018-11-02 Linear systems scipy.linalg.solve
November 5 notes-2018-11-05 Gaussian elimination and interpolation Interpolation
November 7 notes-2018-11-07 Interpolation and linear regression Linear regression and Vandermonde matrix
November 9 notes-2018-11-09 Linear regression (continued)
November 14 notes-2018-11-14 Polynomial regression Polynomial regression
November 16 notes-2018-11-16 Eigenvalues and eigenvectors Eigenvalues/eigenvectors, simple graphs and the adjacency matrix
November 19 notes-2018-11-19 Applications: graphs, linear systems of ODEs Adjacency matrix and linear systems of ODEs
November 21 notes-2018-11-21 Applications: linear system of ODEs Linear systems of ODEs
November 23 notes-2018-11-23 Euler's method Euler's method
November 26 notes-2018-11-26 Euler's method and scipy.integrate.odeint scipy.integrate.odeint
November 28 notes-2018-11-28 Second order equations Vibrations and Van der pol oscillator
November 30 notes-2018-11-30 Planetary orbits Orbits and Euler's 3-body problem