Linear Algebra You Can See, with NumPy
·
Course overview
1
Writing the world as lists of numbers: vectors and NumPy arrays
2
Vector = arrow = list of numbers: addition and scaling
3
Length, angle and the dot product
4
Linear combinations and span
5
A matrix is a rule for moving space
6
Matrix multiplication = one transformation after another
7
Determinants and inverses
8
Solving Ax = b
9
Column space, null space and rank
10
Changing basis
11
Eigenvalues and eigenvectors
12
Diagonalization and matrix powers
13
Orthogonality, projection and least squares
14
SVD: rotate, stretch, rotate
15
PCA, and the next step
Fifteen lessons for developers who opened a linear algebra book and closed it again. Drag basis vectors, watch the grid bend, then compute the same ideas with NumPy, all the way to determinants, eigenvalues, SVD and PCA.
0:00–0:50
Writing the world as lists of numbers: vectors and NumPy arrays
0:50–1:40
Vector = arrow = list of numbers: addition and scaling
1:40–2:30
Length, angle and the dot product
2:30–3:20
Linear combinations and span
3:20–4:10
A matrix is a rule for moving space
4:10–5:00
Matrix multiplication = one transformation after another
5:00–5:50
Determinants and inverses
5:50–6:40
Solving Ax = b
6:40–7:30
Column space, null space and rank
7:30–8:20
Changing basis
8:20–9:10
Eigenvalues and eigenvectors
9:10–10:00
Diagonalization and matrix powers
10:00–10:50
Orthogonality, projection and least squares
10:50–11:40
SVD: rotate, stretch, rotate
11:40–12:30
PCA, and the next step
If you ever bought a linear algebra book and closed it somewhere in chapter one, this course was made for you.
Linear algebra sits underneath computer graphics, games, recommender systems, data analysis and machine learning. Yet most books open with definitions and proofs, and wear the reader out before answering "so what does this actually do?" This course turns the order around. First you see it in a picture, then you read it in the book's notation, then you compute the same thing yourself with NumPy.
Below is the lab from Lesson 5. Drag the tips of the teal î and the crimson ĵ. The whole grid bends with them, the numbers in the matrix on the right change, and when you let go the server runs NumPy on the same matrix. Every lesson in this course works this way.
Column 1 is where î lands, column 2 is where ĵ lands
det A = 1
Areas stay the same
Every direction is an eigenvector (λ = 1)
Check it with NumPy
Each time you settle on a value in the lab, the server runs NumPy on the same numbers.
>>> A = np.array([[1, 0], [0, 1]])
>>> np.round(np.linalg.det(A), 10)
np.float64(1.0)
>>> np.linalg.matrix_rank(A)
np.int64(2)
>>> vals, vecs = np.linalg.eig(A)
>>> np.round(vals, 6)
array([1.+0.j, 1.+0.j])
>>> np.round(vecs, 6)
array([[1.+0.j, 0.+0.j],
[0.+0.j, 1.+0.j]])
>>> A @ np.array([2, 1])
array([2, 1])@ versus *, axis and shape still trip you upThere are no proofs and no calculus. But the course does not stop at the basics either: it goes all the way to determinants, eigenvalues, SVD and PCA, the parts that are actually used.
| Part | Lessons | What it covers |
|---|---|---|
| Part 1 · The very basics | 1–4 | Lists of numbers = vectors, adding and scaling arrows, length, angle and the dot product, linear combinations and span |
| Part 2 · Matrices move space | 5–9 | Linear transformations, matrix multiplication, determinants and inverses, systems of equations, column space, null space and rank |
| Part 3 · Going deeper | 10–15 | Changing basis, eigenvalues and eigenvectors, diagonalization and powers, least squares, SVD, PCA |
Going in order works best. Lesson 5 ("the columns of a matrix are where the basis vectors land") is the key to the whole course.
pip install numpy.python in a terminal) or a Jupyter notebook. Type the >>> examples along with the text.The last lesson leads into numerical analysis: how computers store real numbers, why rounding errors grow, and how to handle large matrices quickly and accurately, building on the NumPy skills from this course.
Get news about new lessons
We'll email you when this course gets new lessons or a follow-up course opens.
R
ReflexKR
Learn Python and Reflex by doing. Every example was run and verified on Reflex 0.10.0.
ReflexKR is free, with no banner ads. If it helped you, you can support it with a coffee. ☕ Buy us a coffee
Affiliate disclosure© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0
Questions & answers
Ask anything about this lesson. Questions from every language version of this page appear together.