R

ReflexKR

Reflex Docs

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

Linear Algebra You Can See, with NumPy

Course overview

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.

12.5 hours15 lessonsReflex 0.10.0

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.

îĵ
1001

Column 1 is where î lands, column 2 is where ĵ lands

det A = 1
Areas stay the same

Every direction is an eigenvector (λ = 1)

Ready-made matrices

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])
Drag î or ĵ. Column 1 of the matrix is where î lands, column 2 is where ĵ lands. Under 'Ready-made matrices', press 'Squash' and the plane gets pressed onto a line.

Who this is for

  • You can write Python, but your math stops at the coordinate plane from school
  • You got stuck every time matrices and eigenvalues showed up in a machine learning or data book
  • You use NumPy, but @ versus *, axis and shape still trip you up

There 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.

How a lesson works

  1. Why it matters: where developers actually run into the idea.
  2. See it: drag arrows and grids in the lab. Dragging is drawn right in your browser, so it stays smooth.
  3. Read the notation: each new symbol gets a table with how to read it, what it means and what it is in Python.
  4. Compute it with NumPy: the code in the "Check it with NumPy" panel under each lab is explained from the syntax up, with examples to type yourself. Every code output in the course comes from actually running it.
  5. Exercises and recap: short exercises with solutions, then a recap you can take in at a glance.

Course map

PartLessonsWhat it covers
Part 1 · The very basics1–4Lists of numbers = vectors, adding and scaling arrows, length, angle and the dot product, linear combinations and span
Part 2 · Matrices move space5–9Linear transformations, matrix multiplication, determinants and inverses, systems of equations, column space, null space and rank
Part 3 · Going deeper10–15Changing 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.

What you need

  • Python 3.10 or later and NumPy 2.x. Installing is one line: pip install numpy.
  • An interactive shell (python in a terminal) or a Jupyter notebook. Type the >>> examples along with the text.
  • You can drag the labs with a mouse or a finger, or press Tab to pick a tip and move it with the arrow keys.

The next course

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.

Next →

Lesson 1 · Writing the world as lists of numbers: vectors and NumPy arrays

Get news about new lessons

We'll email you when this course gets new lessons or a follow-up course opens.

We collect: your email address · Purpose: news about new lessons or the launch of this course · Kept until: you ask us to remove it. We never use it for anything else or share it. Reply to any notice email and we'll delete it right away.

Questions & answers

Ask anything about this lesson. Questions from every language version of this page appear together.

Shown as plain text, without links or formatting.

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
한국어English

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex