Span

Give a painter three tubes of paint — red, yellow, and white — and ask what colours they can mix. The honest answer isn't a single colour, it's an entire territory: every shade reachable by combining those three in different amounts. Vectors have exactly the same question: given a handful of "ingredient" vectors, what can you build by scaling and adding them together?

The span of a set of vectors is everywhere you can reach with their linear combinations — every point of the form a\,\vec{u} + b\,\vec{v} + \dots, as the weights run over all numbers. It answers exactly that painter's question: "given these building-block vectors, what territory can I cover?" Crucially, the weights aren't limited to whole numbers or even positive numbers the way real paint amounts are — negative weights, tiny fractional weights, huge weights, all of them are fair game, which is exactly why the span of even a single vector already stretches out into an infinitely long line in both directions.

One non-zero vector spans a line (all its scalar multiples — stretch it, shrink it, flip it, but you never leave that line). Add a second vector pointing a genuinely different way and together they span the whole plane — you can reach any point at all. This is the flip side of the question linear independence asks: independence checks whether anything in your set is wasted, and span tells you exactly how much territory the set covers once nothing is wasted.

Worked example: the span of a single vector

Describe the span of \vec{u} = (1, 2) on its own. Every vector in its span has the form a \cdot (1, 2) = (a, 2a) for some number a. Try a few values: a=2 gives (2,4), a=-1 gives (-1,-2), and a=0 gives the origin (0,0) itself.

Plot enough of these points and they trace out a single straight line — the line through the origin and the point (1,2). No matter which a you pick, you can never step off that line: a single vector's span is always one-dimensional, a line, never anything wider.

The lattice of reachable points

The dots below mark a grid of combinations a\,\vec{u} + b\,\vec{v}. Rotate \vec{v} with the slider. While it points a different way from \vec{u}, the dots spread across the plane — their span is all of 2D space. Line \vec{v} up with \vec{u} and the whole grid collapses onto a single line, no matter how far out you extend the lattice.

Two vectors span a plane — floating in 3-D

Step up into three dimensions and the picture becomes tangible. Below are two independent vectors \vec{a} and \vec{b} drawn from the origin, and the whole flat plane through the origin that they span — every combination s\vec{a} + t\vec{b} lands somewhere on this infinite sheet. Notice it's a genuine 2-D surface tilted inside 3-D space: there are directions (straight off the sheet) it can never reach. Drag to rotate and see the plane from every side.

Worked example: two independent vectors

Describe the span of \vec{u} = (1, 0) and \vec{v} = (0, 1) together. Pick any target point you like, say (-3, 5). Can you always find weights that reach it? Yes — trivially:

-3 \cdot (1,0) + 5 \cdot (0,1) = (-3, 5)

In fact for any target (x, y) whatsoever, the weights a = x and b = y land you exactly there. Since every single point in the plane is reachable, the span of this pair is the entire 2D plane. These two happen to be linearly independent as well as spanning everything — which is exactly the combination that earns them the title basis.

Worked example: two dependent vectors

Now describe the span of \vec{u} = (1, 1) and \vec{v} = (2, 2) together. Notice immediately that \vec{v} = 2\vec{u} — they're parallel, pointing along the very same line. A general combination is

a(1,1) + b(2,2) = (a + 2b)(1,1)

Whatever a and b you choose, the result is always some multiple of (1,1) — you can never escape that one line, no matter how hard you try. So even though there are "two" vectors here, their span collapses down to a single line, exactly as thin as the span of one vector alone. This is linear dependence showing up as wasted territory: the second vector added zero new reach.

It's worth naming exactly what's missing. Is the point (5, 3) in this span? It would need (a + 2b)(1,1) = (5,3) for some numbers a, b — but the left-hand side is always a point with equal coordinates, like (7,7) or (-2,-2), and (5,3) has unequal coordinates. No choice of a and b can ever land there. The span isn't just "small" here — it's a precise, one-dimensional razor's edge, and almost every point in the plane, including this one, falls outside it.

Worked example: a spanning set with a passenger along for the ride

Describe the span of three vectors together: \vec{u} = (1, 0), \vec{v} = (0, 1), and \vec{w} = (3, 4). You already know from the earlier example that \vec{u} and \vec{v} alone reach every point in the plane. So whatever \vec{w} happens to be, it can't possibly widen a span that was already everything — and indeed \vec{w} = 3\vec{u} + 4\vec{v}, so it was reachable all along.

The span of all three together is still just the whole plane — identical to the span of \vec{u} and \vec{v} alone. This is a preview of something important: a spanning set can carry a "passenger" vector that adds no new territory at all, which is exactly why the smallest possible spanning set — one with every passenger removed — deserves a special name of its own.

Spanning space

We say a set of vectors spans the plane if their span is the entire plane. Two vectors that point different ways do it; so do three, or four — but two is the fewest you ever need in 2D. That "fewest needed to span" idea is precisely what basis and dimension will make exact. First, though, we need to pin down what makes a vector "add something new" — which is exactly what linear independence is for.

The same story, one dimension up

Nothing about span is specific to flat 2D pages — the same ladder climbs straight up into 3D space, and beyond. One non-zero vector still spans just a line. Two independent vectors — pointing different ways but both lying, say, on a tabletop — span a flat plane floating inside 3D space, not the whole of it: you still can't reach up off the table no matter how you combine them. Only a third vector that points up and away from that tabletop, genuinely independent of the first two, unlocks the rest of 3D space and lets the span finally cover everywhere.

The pattern generalises perfectly: in an n-dimensional space, it takes exactly n independent vectors to span the whole thing — one vector per dimension, no more, no fewer. Every dimension you add to the space is another direction that has to be separately supplied by the spanning set, or it simply won't be reachable.

Recap: territory, not just vectors

It helps to stop picturing "span" as a property of the arrows themselves and start picturing it as the territory those arrows unlock together. One vector unlocks a line. A second vector, if it points somewhere new, unlocks the rest of the plane. A third vector either unlocks yet more territory (if you're working in 3D or higher) or unlocks nothing at all (if it was already reachable, like the passenger vector above). Asking "what does this set span?" is really asking "what is the complete map of everywhere these building blocks could ever take me?" — and that question is exactly what makes span the natural partner to linear independence: independence asks whether anything is wasted, span asks how far the unwasted vectors actually reach.

Span has two habits that trip people up:

Go back to that painter with three tubes of paint. Red and yellow alone can mix every shade of orange in between, plus the pure red and pure yellow at the extremes — but they can never, ever produce a colour with any blue in it. Blue paint isn't in the span of {red, yellow}, no matter how the painter mixes proportions. Add a tube of blue to the palette and suddenly the whole rainbow of mixable colours opens up — the span has grown, because blue pointed somewhere the other two genuinely couldn't reach.

This is precisely how vector span works: you are never limited by how much of each ingredient you use (positive amounts, negative amounts, tiny fractions — all allowed, unlike real paint), but you are absolutely limited by which ingredients are in the mix to begin with. A span is the honest answer to "what can this toolkit build, and what is permanently out of reach?"

Robotics engineers ask this exact question every single day. A robot arm can move by combining motions along its various joints and rails — slide along this track, rotate that joint, extend this segment. The span of those basic motions (mathematically, of the vectors describing them) is nothing less than the complete set of positions the robot's hand-tip could ever possibly reach.

If an engineer designs a robot with only two motions that turn out to be nearly parallel — say two joints that both mostly slide the hand sideways — the robot's reachable "span" collapses down close to a thin sliver of space, and it will be hopeless at reaching upward or backward no matter how the motors are commanded. Choosing joints and rails whose motions are spread out in genuinely different directions is exactly how you design a robot that can actually reach everywhere it needs to.

This is also why bolting on extra motors doesn't automatically help. A fourth joint that only ever moves the hand in a direction the other three already cover is dead weight: it adds cost, complexity, and things that can break, without expanding the robot's reachable span by a single millimetre. Good robot design, just like good vector-set design, is about choosing motions that are independent of each other, not simply piling on more of them.

Flip the situation around and the same idea explains a very real limitation: a robot arm with only two independently-moving joints, no matter how cleverly they're arranged, can never span all of 3D space — its hand is forever trapped on some 2D surface, unable to reach positions off of it. Reaching a genuinely 3D workspace is only possible once the robot has at least three independent motions to combine, one for every dimension it needs to cover.

See it explained