If you feed a matrix every vector in the world, is there one that comes back out as... nothing? Not small, not shrunk, but exactly zero?
For most matrices, no. But for a specific and important kind of matrix, yes, and not just one vector. A whole family of them. That family has a name: the null space.
Once you know it, you know exactly what information a matrix throws away.
A matrix as a flattening press
Picture a rolling pin flattening a lump of dough. Roll it one direction, and the dough spreads out flat, thinner and thinner in that direction, until it's basically gone. Roll it the other direction and the dough barely changes.
A matrix does the same thing to space. It's a machine that takes vectors in and pushes vectors out. Some directions get squashed almost to nothing. One direction, if the press is strong enough, gets squashed to exactly nothing.
That's the whole idea. We just need to find, for a given matrix, which direction that is, and how big a chunk of space it swallows.
Watch a vector disappear
Let's make this concrete. Take the matrix
Multiply it by any vector and you get . Notice the second coordinate is always exactly twice the first. Every output vector, no matter what you put in, lands on the same line. That's a big clue this matrix is squashing something.
Now the real question: is there an input that comes out as ?
Drag the amber point around the circle. Watch its image (teal) shrink toward the origin, then vanish entirely at one exact angle.
Drag that point around the circle. For almost every angle, the teal arrow stays clearly visible. But right around one specific angle, it shrinks, and shrinks, and... vanishes. That's not a rounding error. That vector really does map to the exact origin.
We call the set of all such vectors the null space of , written :
In plain English: every input the matrix completely erases.
The null space is usually a whole line, not one vector
Here's the thing about that collapsing angle you just found. It wasn't just one lonely vector that died. Every vector along that same direction died too, short ones and long ones alike, because if then for any scale .
So the null space isn't a point. For this matrix it's an entire line through the origin.
But what determines which line? That depends on the matrix itself. Change the matrix, and the null space rotates to match.
Slide m to reshape the matrix and watch the null-space line rotate. Drag the probe point anywhere and see whether it survives or collapses.
Slide and watch the rose line rotate. Then drag the probe point anywhere you like and check it against the line. On the line, it gets erased. Off the line, even by a hair, it survives. The null space isn't fuzzy, it's an exact boundary between "destroyed" and "kept."
For this family of matrices, the condition for landing on that line is just one equation:
Every satisfying that equation is in the null space. Everything else isn't.
Squashing the entire plane at once
So far we've tested one vector at a time. But the flattening-press picture is really about the whole plane getting pressed down, all at once, continuously.
Press play and watch the whole grid get pressed flat. The rose point rides the null-space direction and slides straight into the origin, while the teal point survives on the flattened line.
Press play. Watch the grid lines slide and compress. The teal point rides along quite happily, landing somewhere on the flattened line. But the rose point, sitting exactly on the null-space direction, slides straight down into the origin and stays there. Everything on that one line gets crushed to a single point, while everything else survives, just squeezed onto a lower-dimensional line.
That's the geometric meaning of a null space: it's the direction (or directions) the press annihilates completely, while the rest of space merely gets compressed.
How much gets destroyed? The rank-nullity theorem
Here's a question worth asking: is there a trade-off? If a matrix destroys more, does it necessarily keep less?
Yes, and it's an exact trade-off, not a rough one. The dimension of what survives is called the rank of the matrix (how many independent directions its outputs actually span). The dimension of what gets destroyed is called the nullity (the dimension of the null space). For a matrix acting on an -dimensional space, these two numbers always add up to , no exceptions:
Set the rank of a matrix mapping the plane to itself. Hover a segment for the concrete example, and watch nullity make up the exact difference every time.
Hover a bar segment to see a concrete matrix at this rank.
Slide the rank up, and nullity has no choice but to slide down to match, because there are only dimensions total to split between "survives" and "destroyed." Push rank to its maximum and the null space shrinks to just the origin, nothing else is destroyed. Drop rank to zero, like the zero matrix, and the entire plane collapses, nullity eats the whole space.
This is the rank-nullity theorem, and it's less a formula to memorize than a bookkeeping fact: every dimension of input either survives as output or gets erased. There's nowhere else for it to go.
The short version
The null space of a matrix is the exact set of vectors it sends to zero, not approximately, exactly. For an invertible matrix that set is just the origin, nothing gets destroyed. For a matrix like the one above, it's a whole line (or plane, or higher-dimensional slice) of vectors that all collapse together. And the rank-nullity theorem guarantees that whatever a matrix doesn't destroy, it keeps, with the two amounts always summing to the full dimension it started with.
Find the null space, and you've found exactly what a matrix is willing to throw away.
All visualizations above are interactive React components running entirely in your browser, built with plain SVG and no external libraries. Drag the points directly, or use the sliders, everything updates instantly.