Vector Span
Span is almost the same concept as a subspace — but the two terms carry slightly different emphasis. A subspace is the region of space itself; the span of a set of vectors is how you generate that region through linear combinations.
A subspace is a region of space you can reach by any linear combination of a given set of vectors. Those vectors are said to span that subspace.
1. Formal Definition
Given a set of vectors , their span is the set of all possible linear combinations:
Because the scalars can be arbitrarily large or small, the span always stretches to infinity — just like a subspace.
2. Is a Vector in the Span?
A key question in linear algebra: "Is vector inside the span of set ?"
- Yes — if can be expressed as a linear combination of the vectors in .
- No — if no combination of scalars can produce from .
Example
Let the spanning set be:
Test two candidate vectors:
? — Yes, using weights and :
? — No. Both spanning vectors have a zero third element. No weighted combination of zeros can produce $1$:
Finding the correct weights is generally not trivial — it requires matrix computations (solving linear systems). Focus on the concept for now: can the target vector be reached?
3. Geometric Interpretation
One vector → Line
A single non-zero vector spans an infinitely long line through the origin — a 1D subspace.
Two independent vectors → Plane
Two vectors pointing in different directions span an infinite flat plane — a 2D subspace. The 3D plot below illustrates this:
- 🔴 Red — the two spanning vectors (define the plane)
- 🟢 Green — vector lies on the plane (in the span)
- 🔵 Blue — vector pokes out of the plane (not in the span)
Two independent vectors in → All of
In 2D space, two independent vectors span the entire plane — every point in can be reached by some linear combination. The question is only what the weights are.
4. Adding a Redundant Vector Does Not Extend the Span
If you add a third vector already inside the span of the first two, the span does not grow:
Once you span all of , no additional vector can increase it — it is already fully covered.
5. Multiple Sets Can Span the Same Space
Different sets of vectors can span the same subspace. What changes is the coordinate description — i.e., the weights needed to reach any given point.
Example: Same point, two coordinate systems
Using spanning set :
Using a different spanning set :
Same point — but very different coordinates. Some spanning sets are more convenient than others for certain problems. This idea is central to basis, explored in the next lesson.
Key Takeaways
- Span: All possible linear combinations of a given set of vectors.
- Membership: iff can be written as a linear combination of the vectors in .
- Geometry: 1 independent vector → line; 2 → plane; independent vectors in → all of .
- Redundancy: Adding a dependent vector leaves the span unchanged.
- Multiple spanning sets: Many sets span the same subspace; they differ only in how they coordinatize it.
6. Python: Visualising a Spanning Plane in 3D
# set S
S1 = np.array([1, 1, 0])
S2 = np.array([1, 7, 0])
# vectors v and w
v = np.array([1, 2, 0])
w = np.array([3, 2, 1])
# draw vectors
fig = plt.figure()
# ax = fig.add_subplot(projection='3d')
ax = plt.axes(projection = '3d')
ax.plot([0, S1[0]],[0, S1[1]],[.1, S1[2]+.1],'r',linewidth=3)
ax.plot([0, S2[0]],[0, S2[1]],[.1, S2[2]+.1],'r',linewidth=3)
ax.plot([0, v[0]],[0, v[1]],[.1, v[2]+.1],'g',linewidth=3)
ax.plot([0, w[0]],[0, w[1]],[0, w[2]],'b')
# now draw plane
xx, yy = np.meshgrid(range(-15,16), range(-15,16))
cp = np.cross(S1,S2)
z1 = (-cp[0]*xx - cp[1]*yy)*1./cp[2]
ax.plot_surface(xx,yy,z1)
plt.show()