Math/CS 513 is an undergraduate course taught at the University of Wisconsin, Madison on numerical linear algebra. Visit the course website.
These code examples accompany the lecture materials. They are primarily written in Python and make use of several well-established libraries:
- NumPy for numerical linear algebra
- SciPy for scientific routines and algorithms
- Matplotlib for graphing and visualization
- Unit 0: Fundamentals
- Unit 1: Singular value decomposition
- Unit 2: QR decomposition and least squares
- Unit 3: Conditioning and stability
- Unit 4: Linear systems
- Unit 5: Eigenvalue problems
- Unit 6: Iterative methods
-
MATLAB (local machine): navigate to the target folder and run MATLAB scripts
-
MATLAB Online: first need to create a new project by cloning the repo, then navigate to the target folder and run MATLAB scripts
Caveat: MATLAB scripts can run interactively online, but have not found a way to update the cloned repo in if new files are added
-
Python (local machine): need local Python and Jupyter installation to run notebooks
-
Python (Google Colab): click "Open in Colab" badge on the top of each
.ipynbnotebook to run (no need to install anything for Python to run)
If you are running the notebook on Google Colab, please make a copy of the notebook to your drive:
- click "Copy to Drive"
- or navigate to "File -> Save a copy in Drive"
- or navigate to "File -> Download" and save a local copy
Otherwise all your changes will not be saved
- Install Git
- Git cheat sheet (You will mostly only be using
git pullto retrieve updated files) - Install Jupyter using Anaconda and conda (The straightforward way, but your libraries are installed in
condaenvironment; may encounter path/dependency issues in future) - Install Jupyter with pip (If you already have Python3 installed and do not want to deal with additional
condaenviroment, which gives a cleaner setup for future Python3 usage) - Python tutorial