Computation Lab: Basis and Column Space Geometry

An interactive lab for seeing how different generating sets can define the same subspace and how basis size tracks dimension.
Modified

April 26, 2026

Keywords

computation, simulation, visualization, basis, subspace

1 Lab Goal

This lab helps you see one specific fact:

changing the generating set does not necessarily change the subspace, but changing independence changes the basis size.

2 Math Question

How do the angle between two main generators and the choice of a third redundant vector affect:

  • the dimension of the column space
  • whether a basis needs one or two vectors
  • whether adding another column changes the underlying subspace

3 Model or Setup

We use three column vectors in \(\mathbb{R}^2\):

\[ c_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \qquad c_2 = \begin{bmatrix} \cos \theta \\ \sin \theta \end{bmatrix}, \qquad c_3 = c_1 + c_2. \]

The third vector is always in the span of the first two.

4 Parameters and Controls

  • Angle: controls whether \(c_1\) and \(c_2\) are dependent or independent
  • a, b, d: coefficients in the combination \(a c_1 + b c_2 + d c_3\)

5 Code and Simulation

6 What To Observe

  • When the angle is not 0 or 180, the first two columns already span all of \(\mathbb{R}^2\).
  • The third vector changes the spanning list but not the subspace.
  • When the angle collapses, all three columns fall into one one-dimensional subspace.
  • Dimension tracks independent directions, not the raw number of columns you wrote down.

7 Interpretation

This lab shows why basis is a minimal spanning set.

You can keep adding vectors to a generating list, but if they do not add a new independent direction, the subspace does not grow. That is the conceptual heart of basis reduction.

8 Failure Modes and Numerical Cautions

  • Near-zero determinants can make dependence look visually ambiguous.
  • In higher dimensions, basis extraction is less visual and more algebraic, but the same rule still applies.
  • A larger generating set is not automatically a richer model if it adds no new directions.

9 Reproducibility Notes

  • execution engine: Observable JS
  • randomness: none
  • libraries: Quarto OJS with Plot and Inputs
  • render mode: interactive client-side

10 Extensions

  • replace \(c_3\) by another combination of \(c_1\) and \(c_2\)
  • move to a 3D example where the ambient dimension is larger than the subspace dimension

11 Sources and Further Reading

Back to top