← LibrarySubspace Constructions | KEVOS® MathematicsProject Delivery · Project ManagementLesson 151/189← PrevNext →
ArticlePublished 8 Aug 202621 min readBy Kevin Jogin
Skip to content

Engineering/Mathematics/Vector Spaces

Subspace Constructions

The four subsets attached to a matrix — null space, column space, row space and left null space — are all subspaces, as is any span. Once these theorems are in hand, most sets an engineer meets are recognised as subspaces in a single line rather than verified from scratch.

  • Core level
  • Stream: subspaces
  • Reading time 13 min
  • Ref KVS-ENG-MATH-0062
Taxonomy
Engineering / Mathematics
Prerequisite
The three-condition subspace test
Constructions covered
span(S), N(A), C(A), R(A), L(A)
Ambient spaces
N(A),R(A)n; C(A),L(A)m
Proof pattern
Reduce each construction to a span or a null space
Consequence
All five are closed under arbitrary linear combinations

Overview

Establishing a subspace from first principles is short but not free, and doing it repeatedly for sets that keep recurring is waste. The remedy is a small catalogue of standing theorems: certain constructions produce subspaces every time, whatever matrix or generating set they are applied to. Recognising one of these patterns replaces an argument with a citation.

Two constructions do all the work. A span is a subspace because linear combinations of linear combinations are linear combinations. A null space is a subspace because the matrix-vector product distributes over addition and commutes with scalars. Everything else in the catalogue reduces to one of these two in a single step, which is why the proofs are so short once the order of presentation is right.

The reductions are worth stating explicitly. The column space of A is by definition the span of the columns of A, hence a subspace of m. The row space of A is the column space of At, hence a subspace of n. The left null space of A is the null space of At, hence a subspace of m. Three theorems, three one-line proofs, no new technique.

The consequence is more than notational tidiness. Knowing that these sets are subspaces upgrades them from mere collections to vector spaces, so every result proved about vector spaces applies to them without restatement: they have dimensions, bases, subspaces of their own, and they are closed under arbitrary linear combinations rather than just under single sums. That upgrade is what makes rank, nullity and the rank-nullity relationship meaningful.

Definition

Column Space of a Matrix is a Subspace

CSMS

Let A be an m×n matrix. Then the column space C(A) — the span of the n columns of A — is a subspace of m.

Immediate: C(A) is defined as a span of vectors from m, and every span is a subspace.

Row Space of a Matrix is a Subspace

RSMS

Let A be an m×n matrix. Then the row space R(A) is a subspace of n.

By definition R(A)=C(At), so the row space is a column space of an n×m matrix and the previous theorem applies.

Left Null Space of a Matrix is a Subspace

LNSMS

Let A be an m×n matrix. Then the left null space L(A) is a subspace of m.

By definition L(A)=N(At), so the left null space is a null space and the null space theorem applies.

Null Space of a Matrix is a Subspace

NSMS

Let A be an m×n matrix. Then N(A)={xnAx=0} is a subspace of n.

Restated here because two of the constructions above depend on it. Proved directly from the three subspace conditions using A(x+y)=Ax+Ay and A(αx)=α(Ax).

Concepts

Two primitive constructions, three derived ones

The catalogue has a definite structure. The span and the null space are primitive: each is proved a subspace directly from the three conditions. The column space, row space and left null space are derived: each is rewritten as a span or a null space of A or At and inherits the result. Recognising this dependency order explains why the proofs are one line each and makes the catalogue easy to reconstruct from memory rather than memorised item by item.

Ambient spaces are not interchangeable

For an m×n matrix, the null space and the row space consist of vectors of size n, while the column space and the left null space consist of vectors of size m. This bookkeeping is not pedantry: a claim that two of these subspaces are equal, orthogonal or complementary is meaningless unless they sit in the same ambient space. The natural pairings are N(A) with R(A) inside n, and C(A) with L(A) inside m.

Closure under arbitrary linear combinations

The subspace conditions mention only single sums and single scalar multiples, but induction extends them immediately: a subspace is closed under linear combinations of any finite length. This is the property actually used in practice. It means an engineer may superpose an arbitrary number of null space vectors, column space vectors or spanning vectors with arbitrary weights and remain inside the same set, with no case-by-case justification.

Two descriptions of the same subspace

The null space is defined by a constraint — membership is tested by evaluating Ax — while the column space is defined by generators. The two descriptions have opposite computational profiles: testing membership is cheap for a constraint description and expensive for a generator description, while producing new members is cheap for generators and expensive for constraints. Any subspace admits both descriptions, and moving between them costs a factorisation. Choosing the right one for the task is a design decision, not a detail.

Recasting a constraint set as a null space

A set defined by several simultaneous homogeneous linear equations in the coordinates is exactly the null space of the matrix whose rows are those equations. This recognition step is the highest-leverage move on this page: it replaces a tedious condition-by-condition closure argument with one citation, and solving the system then supplies an explicit spanning set for the same subspace. The pattern to look for is a right-hand side of zero in every condition.

Why the upgrade to vector space matters

Before these theorems, the null space and column space were sets of vectors with a defining property. Afterwards they are vector spaces, so the entire abstract theory applies to them directly. They possess dimensions, so rank and nullity are well defined; they possess bases, so they admit finite descriptions; and they possess subspaces of their own, so nested constructions are legitimate. Practically every quantitative statement made about a matrix later in the subject depends on this upgrade having been made.

Recognising a subspace without proving one

Is the set described by generators?If it is all linear combinations of a listed set, it is a span and therefore a subspace. Stop.
Is it described by homogeneous constraints?If every condition is linear in the coordinates with zero on the right, assemble those conditions as rows of A; the set is N(A).
Is it the set of reachable right-hand sides?The vectors b for which Ax=b is consistent form C(A), a subspace of m.
Does it involve rows rather than columns?Combinations of the rows form R(A)=C(At); vectors annihilating the rows from the left form L(A)=N(At).
None of the above?Fall back to the three-condition test, and expect failure if the membership condition is non-linear or non-homogeneous.

Equations

Column space as a span

EQ-SC-01
C(A)=span({A1,A2,,An})m

Here Aj denotes the j-th column of A. The column space is a span of vectors from m, hence a subspace of m by the span theorem.

Row space as a column space of the transpose

EQ-SC-02
R(A)=C(At)n

Transposing turns rows into columns, so no new argument is required: the row space is a column space of an n×m matrix.

Left null space as a null space of the transpose

EQ-SC-03
L(A)=N(At)={ymAty=0}

Vectors annihilating A from the left. Because it is a null space of At, it is a subspace of m.

Null space of a matrix

EQ-SC-04
N(A)={xnAx=0}n

The primitive constraint-defined construction, proved a subspace directly from the three conditions.

Closure under arbitrary linear combinations

EQ-SC-05
w1,,wkWandα1,,αkα1w1++αkwkW

Induction on the two closure conditions. This, rather than closure under a single sum, is the property used in engineering superposition arguments.

Dimension bookkeeping across the four subspaces

EQ-SC-06
dimR(A)+dimN(A)=n,dimC(A)+dimL(A)=m

Each ambient space splits its dimension between one generator-defined and one constraint-defined subspace. Both row space and column space have dimension equal to the rank of A.

Variable Definitions

Symbols used on this page
SymbolNameMeaningDomain / type
AMatrixThe m×n matrix generating all four subspacesm x n matrix
AtTransposeRows and columns exchanged; converts row constructions into column constructionsn x m matrix
N(A)Null spaceVectors annihilated by Asubspace of C^n
C(A)Column spaceSpan of the columns; the set of attainable right-hand sidessubspace of C^m
R(A)Row spaceSpan of the rows, equal to C(At)subspace of C^n
L(A)Left null spaceVectors annihilating A from the left, equal to N(At)subspace of C^m
mRow countSize of the ambient space for the column space and left null spacepositive integer
nColumn countSize of the ambient space for the null space and row spacepositive integer
rRankCommon dimension of the row space and the column space0 to min(m,n)

Worked Numerical Example

Problem statement

A sensor fusion model relates four raw channel readings to three derived quantities through a 3×4 observation matrix. Identify all four subspaces attached to the matrix, state which ambient space each lives in, and confirm the dimension bookkeeping.

  1. State the matrix

    The observation matrix maps x4 to Ax3. Note before any computation that the third row is the sum of the first two, so the rows carry a dependency.

    A=[120124113610]
  2. Reduce to reduced row-echelon form

    Gauss-Jordan reduction gives a matrix with two non-zero rows, so rank(A)=2. The pivot columns are 1 and 3.

    RREF(A)=[120100130000]
  3. Null space — a subspace of 4

    The reduced form gives x1=2x2+x4 and x3=3x4, with x2 and x4 free. Setting each free variable to one in turn produces a spanning set, and direct substitution confirms Ax=0 for both. This set is a subspace of 4 because it is a null space.

    N(A)=span({[2100],[1031]}),dim=2
  4. Column space — a subspace of 3

    The column space is the span of the four columns of A, and the pivot columns of the reduced form identify columns 1 and 3 of the original matrix as a linearly independent spanning subset. It is a subspace of 3 because it is a span of vectors of size three.

    C(A)=span({[123],[011]}),dim=2
  5. Row space — a subspace of 4

    Row operations do not change the row space, so the non-zero rows of the reduced form span it. It is a subspace of 4 because it is the column space of At, a 4×3 matrix.

    R(A)=span({[1201],[0013]}),dim=2
  6. Left null space — a subspace of 3

    Reducing At gives rank two, so the nullity of At is 32=1. Solving Aty=0 gives y1=y3 and y2=y3. It is a subspace of 3 because it is a null space of At.

    L(A)=span({[111]}),dim=1
  7. Verify the left null space vector

    The single generator asserts that the third row minus the first minus the second is the zero row. Checking each of the four entries confirms the dependency observed at the outset:

    (1)[1201]+(1)[2411]+[3610]=[0000]
  8. Check the dimension bookkeeping

    In 4: dimR(A)+dimN(A)=2+2=4=n. In 3: dimC(A)+dimL(A)=2+1=3=m. Both accounts balance, which is a strong check on the whole computation.

Result

Of the four raw channels, only two carry independent information: the null space is two-dimensional, so a two-parameter family of raw readings maps to the same derived output and cannot be recovered. On the output side, the reachable derived quantities form a two-dimensional plane inside the three-dimensional output space, and the one-dimensional left null space names the single linear combination of derived quantities that must vanish for any physically realisable reading — a directly usable consistency check on the sensor suite.

Applications & Industry Use

Structural engineering

Self-stress states and load reachability

For an equilibrium matrix, the null space contains the self-stress states a structure can sustain with no external load, and the column space contains the loads the structure can carry at all. Both being subspaces is what allows self-stress states to be superposed freely when prestressing a cable net.

Electrical engineering

Cycle and cut spaces of a network

For the incidence matrix of a circuit, the null space is the cycle space of admissible loop currents and the left null space relates to the cut space of node potentials. Their subspace status is what makes mesh and nodal analysis legitimate as linear methods.

Chemical engineering

Independent reactions from an atomic matrix

The null space of the atomic composition matrix is the space of element-conserving reaction vectors, and its dimension counts the independent reactions. Because it is a subspace, any combination of balanced reactions is balanced, which underpins mechanism reduction.

Control systems

Reachable and unobservable subspaces

The column space of a controllability matrix is the reachable subspace, and the null space of an observability matrix is the unobservable subspace. Reporting each as a dimension — and decomposing the state space along them — requires both to be genuine subspaces.

Geodesy & surveying

Datum defects in network adjustment

In a levelling or triangulation adjustment, the null space of the design matrix is the space of datum defects: shifts and rotations that leave all observations unchanged. Its dimension tells the surveyor exactly how many constraints must be added to fix the datum.

Data science

Redundancy in a design matrix

Exact collinearity between predictors appears as a non-trivial null space of the design matrix, and the fitted values live in its column space. Recognising both as subspaces is what makes the geometry of least squares — a projection onto the column space — a well-posed statement.

Design Considerations

Recognise the pattern before writing a proof

Most sets that arise in modelling are already one of the five catalogued constructions in disguise. Before starting a three-condition verification, spend a minute trying to write the set as a span or as a null space. The rewrite usually succeeds and produces useful structure — generators or constraints — as a by-product.

Keep the ambient space in the notation

Writing N(A)n and C(A)m explicitly prevents a whole class of errors, including comparing subspaces of different sizes and misapplying rank-nullity. When mn the discipline is essential; when m=n it is still worth keeping, because equal sizes do not make the subspaces comparable in content.

Choose the description that matches the query

If the dominant operation is testing whether a vector belongs, keep a constraint matrix and evaluate a product. If it is generating members, keep a basis and form combinations. Converting between the two is a factorisation, so decide once at design time rather than converting inside a loop.

Do not conflate the row space with the set of rows

The row space is the span of the rows, not the rows themselves, and it is unchanged by row operations even though the rows are not. This distinction is the basis for extracting a clean basis from the reduced form, and blurring it leads to claims that a matrix and its reduced form share a column space, which is false.

Rank determines four dimensions at once

For an m×n matrix of rank r, the row and column spaces both have dimension r, the null space has dimension nr and the left null space has dimension mr. One rank computation therefore settles all four, and reporting the four dimensions separately without checking that they sum correctly wastes a free consistency check.

Numerical rank is a modelling decision

The four dimensions all hinge on r, and in floating point r is defined only relative to a tolerance. A near-dependency in the data can shift r by one and change every reported dimension. Determine rank from singular values with a stated threshold rather than from pivot counts in a rounded reduction.

Standards & Codes

Notation, interchange and numerical standards that govern how this material is written down, stored and computed in production systems.

Applicable standards, conventions and reference implementations
ReferenceTitleRelevance to this topic
ISO 80000-2Quantities and units — Part 2: MathematicsStandardises the transpose notation At, the script letters used for the four subspaces, and the upright rendering of dim and rank.
LAPACK / BLAS referenceLinear Algebra PACKage reference implementationSupplies the factorisations that produce bases for these subspaces in practice: xGESVD for orthonormal bases of all four, and xGEQP3 for a rank-revealing column space basis.
IEEE 754-2019IEEE Standard for Floating-Point ArithmeticDetermines the rounding behaviour that makes the rank — and hence all four subspace dimensions — a tolerance-dependent quantity in computed models.
IEC 61131-3Programmable controllers — Part 3: Programming languagesGoverns implementations of on-line constraint checks in industrial controllers, where testing membership in a null space of admissible states is a routine safety function.
ISO/IEC 40314Mathematical Markup Language (MathML) Version 3.0Encodes the subspace notation and matrix displays on this page so they remain machine-readable and accessible.

Material Selection

For a mathematical topic, "material" is the numeric representation: the scalar field, storage format and precision the computation is built from.

Representation and precision selection
RepresentationSelect whenTrade-off
Exact rational arithmeticSmall structural or stoichiometric matrices where the subspace dimensions are the deliverable and must be certain.Dimensions are exact with no tolerance choice, but intermediate coefficient growth limits practical size.
IEEE 754 binary64 with SVD-based rankThe default for engineering matrices assembled from measured or simulated data.Robust and well understood, but the four dimensions all depend on a singular value cutoff that must be documented.
Rank-revealing QR with column pivotingA basis for the column space consisting of actual columns of A is required, as when the columns carry physical identity.Cheaper than an SVD and returns original columns, but the rank decision is less reliable for matrices with clustered singular values.
Sparse storage with iterative null space methodsVery large finite element or network matrices where a dense factorisation is impossible.Handles problems a dense method cannot, but returns approximate null space directions and requires a convergence criterion.
Dense column-major storageModerate matrices where all four subspaces are needed at once and BLAS throughput dominates.Best use of optimised kernels, but memory grows as mn regardless of how sparse the underlying model is.
Integer arithmetic modulo a primeCertifying rank and hence subspace dimensions quickly for large integer matrices.Fast and exact with bounded operand size, but an unlucky prime can report a rank lower than the true rank over .

Manufacturing Notes

Implementation notes — how the result is actually produced by hand, by algorithm and by library, including cost and numerical behaviour.

One reduction serves several subspaces

Reducing A gives the rank, a basis for the row space from the non-zero rows, a basis for the column space from the original columns indexed by the pivots, and a basis for the null space from the free variables. Only the left null space needs additional work, and even that is avoided by reducing the augmented array [AIm] instead, which exposes it in the same pass.

Operation counts

A single Gauss-Jordan reduction of a dense m×n matrix costs O(mnmin(m,n)) operations. Computing all four subspaces from one extended reduction therefore costs roughly the same as computing one of them, which is a strong argument for the extended form when more than one subspace is required.

Library behaviour

SymPy exposes nullspace, columnspace and rowspace returning exact bases. SciPy provides null_space and orth, both SVD-based, returning orthonormal bases with a tolerance argument. There is no standard routine for the left null space; apply the null space routine to the transpose.

Verification by residual and by dimension

Given computed bases, check AN=0 for a null space basis N and AtL=0 for a left null space basis L, both to a scaled tolerance. Then check that the two dimension sums equal n and m respectively. A failure of the sums almost always indicates a rank tolerance set too loosely.

Choosing between original and reduced bases

A column space basis built from original columns of A preserves the physical identity of each column, which matters when the columns are named quantities. An orthonormal basis from an SVD is numerically far better conditioned but consists of synthetic directions. Decide which property the downstream computation needs before selecting the routine.

Failure Modes & Common Mistakes

Failure modes, root causes and prevention
Failure mode / mistakeImpactRoot causePrevention & detection
Confusing the ambient spaceshighTreating N(A) and C(A) as living in the same space when mn, then comparing or intersecting them.Annotate every subspace with its ambient space at the point of definition and check sizes before any comparison.
Taking the column space of the reduced formhighAssuming row operations preserve the column space; they preserve the row space and the null space but not the column space.Use the pivot columns of the reduced form as indices into the original matrix when building a column space basis.
Assuming a non-homogeneous solution set is a subspacehighApplying the null space theorem to {xAx=b} with b0.Check the right-hand side is zero; otherwise decompose as a particular solution plus N(A).
Mis-sizing the left null spacemediumComputing N(A) instead of N(At), producing vectors of the wrong length.Transpose first, then apply the null space routine, and verify the result has m components.
Reporting dimensions that do not balancemediumComputing the four dimensions independently with inconsistent rank tolerances.Compute rank once and derive all four dimensions from it, then assert the two sums equal n and m.
Confusing the row space with the set of rowsmediumClaiming a specific row must appear in any basis, or that the row space changes under row operations.Remember the row space is a span; row operations change the rows but not the space they span.
Trusting pivot counts in floating pointmediumDetermining rank by counting non-zero pivots on rounded data, where a structurally zero entry is merely small.Determine rank from singular values against a documented tolerance and derive the subspaces from that rank.
Assuming the four subspaces are disjointlowOverlooking that all four contain the zero vector, so no two of them are ever disjoint as sets.State intersection results as {0} rather than as emptiness.

FAQs

Why is the proof that the column space is a subspace only one line?

Because the column space is defined as the span of the columns, and a standing theorem says every span is a subspace. The genuine work was done once, in proving the span theorem; the column space result is an instance of it, not a new argument.

Could the null space have been proved a subspace via the span theorem instead?

Yes. A null space can be described as the span of the vectors produced from the free variables, so the span theorem applies. The direct proof from the three conditions is usually preferred because it needs no prior computation of a spanning set and works for any A without solving anything.

Which ambient space does each of the four subspaces sit in?

For an m×n matrix, the null space and row space consist of vectors of size n and sit in n; the column space and left null space consist of vectors of size m and sit in m. Mixing them is the single most common error in applying these constructions.

Do row operations change any of the four subspaces?

Row operations preserve the row space and the null space exactly, which is why a basis for each can be read from the reduced form. They generally change the column space and the left null space, so a column space basis must be taken from the original columns using the pivot indices.

Are subspaces closed under combinations of more than two vectors?

Yes. The two closure conditions are stated for a single sum and a single scalar multiple, but induction extends them to any finite linear combination. That extended form is the one used whenever an engineering argument superposes many contributions at once.

Is the intersection of the row space and the null space always trivial?

Not over . Over the real numbers the row space and the null space are orthogonal complements, so they meet only at the zero vector. Over with the plain transpose the correct pairing involves the conjugate transpose, and a matrix can have a non-zero vector in both its row space and its null space.

What is the fastest way to establish that a described set is a subspace?

Rewrite the description as a span or as a null space and cite the corresponding theorem. Simultaneous homogeneous linear conditions become the rows of a matrix; explicit generators become a span. Only if neither rewrite is possible is the three-condition test worth performing.

References

  1. Beezer, R. A. A First Course in Linear Algebra, Version 0.70. University of Puget Sound, 2006. Section S, Subsection SC, Theorems CSMS, RSMS and LNSMS. Licensed under the GNU Free Documentation License v1.2.
  2. Strang, G. Linear Algebra and Its Applications, 4th edition. Cengage Learning, 2006.
  3. Golub, G. H. and Van Loan, C. F. Matrix Computations, 4th edition. Johns Hopkins University Press, 2013.
  4. ISO 80000-2:2019, Quantities and units — Part 2: Mathematics. International Organization for Standardization.
  5. Anderson, E. et al. LAPACK Users' Guide, 3rd edition. Society for Industrial and Applied Mathematics, 1999.

AI Suggested Questions

  • For a 5×3 matrix of rank 2, give the dimension of each of the four subspaces and name the ambient space of each.
  • Show me a matrix whose column space changes under row operations, and explain why the row space does not.
  • How do I extract bases for all four fundamental subspaces from a single extended echelon form computation?
  • Explain why the left null space of a structural equilibrium matrix identifies redundant equilibrium equations.
  • What tolerance should I use when computing a null space basis from an SVD, and how does it affect the reported dimensions?
  • Give a physical interpretation of the null space and column space for a sensor observation matrix.

Related Calculators

Continue learning

Algebraic and Geometric Multiplicities of Eigenvalues | KEVOS® MathematicsArticle · Project ManagementAmitsur’s Theorem on the Radical of a Polynomial Ring | KEVOS®Article · Project ManagementAmitsur’s Theorem on the Radical of an Algebra of Small Dimension | KEVOS®Article · Project ManagementArchetypes: Reference Catalogue of Worked Systems | KEVOS® MathematicsArticle · Project Management