Learning Linear Algebra by building hands-on projects and practice tools inspired by Gilbert Strang’s Introduction to Linear Algebra.
This repo documents my journey to deeply learn Linear Algebra through code. I’m combining practical projects with exploratory notebooks to prototype ideas, experiment with visualizations, and truly understand the concepts from Strang’s book.
It extends the same learning philosophy I use in my Project10X – The Backend Builder Series, now applied to math (Linear Algebra).
- Master key concepts in Linear Algebra through projects and practice
- Build intuition with hands-on coding and visual exploration
- Strengthen my foundation for machine learning, computer graphics, and applied math
- Mix polished builds with fast experimentation to support active learning
linear-algebra-10x/
│
├── projects/ # Main projects (10 total planned)
│ ├── 01-vector-visualizer/
│ ├── 02-equation-solver/
│ └── ...
│
├── practice/ # Notebooks for concept testing and quick prototypes
│ ├── 1.1/
│ ├── 1.2/
│ └── ...
│
├── assets/ # Diagrams and visuals
│
├── README.md
└── requirements.txt
# | Project Name | Key Concepts Covered |
---|---|---|
1 | Vector Visualizer | Vectors, vector addition, scalar multiplication |
2 | Equation Solver | Systems of equations, Gaussian elimination |
3 | Column & Null Space Explorer | Linear independence, basis, dimension |
4 | Matrix Operations Simulator | Matrix multiplication, inverse, identity |
5 | Linear Transformation Playground | Transformations, rotation, scaling, shear |
6 | Orthogonality & Projection Tool | Dot product, orthogonality, projection, Gram-Schmidt |
7 | Determinant Visualizer | Determinants, area and volume scaling |
8 | Eigenvalue Explorer | Eigenvalues, eigenvectors, diagonalization |
9 | SVD Demo | SVD, rank, PCA intro, image compression |
10 | Capstone App | Pull together key ideas into one real-world project |
The practice/
folder is where I:
-
Explore quick ideas (e.g., check if vectors are perpendicular)
-
Visualize concepts like transformations or matrix operations
-
Write utilities and test logic before using them in projects
-
Build small demos that help reinforce what I’m studying
These are fast, experimental, and support the main project work.
-
Pick a project or topic I’m studying from Strang’s book
-
Read and work through the relevant textbook sections
-
Use practice notebooks to test, play, and explore
-
Build or iterate on a project to apply what I’ve learned
-
Create visuals or stretch features to push understanding further
-
Python — core language
-
Jupyter Notebooks — fast experiments and visualization
-
NumPy, Matplotlib, SymPy (optional) — computation + plotting
-
Optional extras like Flask or React if I build UI-based tools
This is a personal learning project, but if you have feedback, ideas, or corrections — feel free to open an issue or PR.
MIT License. See LICENSE for more details.
Made by RM Villa