Difficulty: High.
Required Knowledge:
- Middle school algebra.
- If you wish to do homework you should know Python. You would probably be fine with MATLAB, C++, or C#, but all code here will be written in Python with the packages
numpy, scipy, matplotlib,
andjupyter
.
- The derivative, fixed point iteration, Newton's method, Euler, Runge-Kutta, and multistep methods.
- Quadrature a.k.a. numerical integration, finite difference methods and correctors.
- Linear differential equations, matrix fundamentals, the QR algorithm, Newton-like methods, stiffness.
- Finite element methods, various bases, Fourier/DCT transforms, Fourier analysis (faster solvers), Fourier analysis (stability).
- Optimization: Binary and golden-section search, the simplex method, gradient descent, conjugate gradient descent, and Adam.
- Stable diffusion.
Open up the terminal (cmd line on Windows) and run
git clone https:/programjames/hssp-spring-numerical-methods
cd hssp-spring-numerical-methods/examples
pip install -r requirements.txt
To view a .ipynb
file run jupyter notebook
and open the corresponding file.