These notebooks were written as companions to my talk at the PyData 2019 conference in NYC. They contain examples of topics from basic linear algebra courses like rank and eigenvectors, as well as some more advanced topics that are less familiar like the singular value decomposition. As much as possible, I've tried to include geometric 2D or 3D visualizations and coded python examples for all of the topics to make them more accessible.
These notebooks are faaaaaaaar from comprehensive. I've skipped a lot of formal math in favor of brevity and readability. The goal is to pique your interest so that you can go on and indulge in a more rigorous course. I highly recommend the materials from Stanford's "Introduction to Linear Dynamical Systems" course, which is the material that first excited me about the subject.
The easiest way to view the notebooks is with the Binder link above (no setup required)
Everything in this talk can be done with a basic installation of Numpy and Scipy. The version should not be important. Scipy is used exclusively for some convenience functions, and Matplotlib is included only for visualization purposes. Neither are necessary for linear algebra. This notebook was written using Python 3.6, Numpy 1.16.4, Scipy 1.2.1, Matplotlib 3.1.1, notebook 5.7.8, and jupyter 1.0.0.
There is a requirements.txt file for convenience if you want to setup an environment locally - this doesn't include Jupyter though.
I've noticed that there are some rendering problems when viewing the notebooks on Github. I'm working to correct this, but they look fine on Binder and hopefully the materials should work if you download them and run Jupyter locally...
Please feel free to contact me with feedback and corrections!