Stop thinking of a matrix as a grid of numbers to multiply. Start seeing it as a function that reshapes space — stretching, rotating, shearing, projecting. Every matrix is a geometric action. Once you see this, you can never unsee it.
Forget rows and columns for a moment. A matrix A is a machine: you feed it a vector x, it spits out a new vector Ax. The output lives in a (possibly different) space, pointing in a (possibly different) direction, with a (possibly different) length.
That machine has a specific geometric action — it stretches space, rotates it, shears it, or collapses it. The entries of the matrix encode exactly how space gets deformed. To understand a matrix, you understand what it does to the coordinate grid.
Here's the most important fact about matrix-vector multiplication: the columns of A are where the basis vectors land after the transformation.
Recall that any vector x = x₁ê₁ + x₂ê₂. Now apply A to both sides:
This is the geometric reading of matrix multiplication: to transform x, you go to where ê₁ landed, scale it by x₁, go to where ê₂ landed, scale it by x₂, then add them up. The whole transformation is determined by where the basis vectors go.
After transformation, the unit vector along x becomes the first column of A. It may stretch, shrink, or rotate.
After transformation, the unit vector along y becomes the second column of A. Together, they define the entire transformation.
Let's go slow and build the mechanics from what we know, no memorization needed.
Both views — column combination and row dot products — give the same answer. The column view is geometric (where do basis vectors go?). The row view is computational (project x onto each output direction). Both are useful. Master both.
Apply transformation B first, then transformation A. The combined effect is a single matrix AB. This is exactly what matrix multiplication computes — the composition of two linear maps.
AB ≠ BA in general. "Rotate then shear" is not the same as "shear then rotate." Matrix multiplication is not commutative. This is one of the most important things to internalize — transformations applied in different orders produce different results. Try it geometrically: rotate a square 90°, then shear it. Now reverse the order. Different result.
Every transformation has a matrix. Here are the ones you'll encounter constantly — derive them by asking "where does ê₁ go? where does ê₂ go?" and writing those as columns.
Notice how the determinant tells you everything about area change: det = 2 means areas double. det = −1 means orientation flips. det = 0 means the transformation collapses space to a lower dimension — this is a critical geometric warning you'll see again in null spaces.
Not every function T: ℝⁿ → ℝᵐ is linear. Linear transformations obey exactly two rules:
Look at the transformation in the visualizations above. If the coordinate grid lines stay straight, evenly spaced, and the origin stays put — the transformation is linear and has a matrix. If any grid line curves, or the origin moves, it's not a linear transformation. This is the geometric litmus test.
A circuit with n nodes can be described by Ax = b, where A is the conductance matrix (a linear transformation), x is the node voltage vector, and b is the current injection vector. Solving the circuit is inverting the transformation. Understanding A geometrically tells you about the structure of the circuit — singular A means the circuit has no unique solution.
Coordinate frame changes are rotation matrices. When you transform a field from global to local coordinates (or vice versa), you're applying a rotation matrix. In EM, converting between Cartesian and spherical/cylindrical coordinates involves exactly these transformations. The matrix's columns tell you where each axis of one frame points in the other.
A dynamical system ẋ = Ax is a matrix telling your state vector which direction to flow. The matrix A defines the geometry of the flow — its eigenvectors (Page 6) point along the natural axes of the dynamics, and its eigenvalues tell you how fast things grow or decay along each axis.
An invertible matrix is a transformation you can undo. If det(A) ≠ 0, the transformation doesn't collapse any dimension — every output vector came from exactly one input vector. If det(A) = 0, the transformation squashes space to a lower dimension and information is lost: multiple inputs map to the same output. You cannot undo it.