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
- , , , ,
- Ambient spaces
- ;
- 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 is by definition the span of the columns of , hence a subspace of . The row space of is the column space of , hence a subspace of . The left null space of is the null space of , hence a subspace of . 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
CSMSLet be an matrix. Then the column space — the span of the columns of — is a subspace of .
Immediate: is defined as a span of vectors from , and every span is a subspace.
Row Space of a Matrix is a Subspace
RSMSLet be an matrix. Then the row space is a subspace of .
By definition , so the row space is a column space of an matrix and the previous theorem applies.
Left Null Space of a Matrix is a Subspace
LNSMSLet be an matrix. Then the left null space is a subspace of .
By definition , so the left null space is a null space and the null space theorem applies.
Null Space of a Matrix is a Subspace
NSMSLet be an matrix. Then is a subspace of .
Restated here because two of the constructions above depend on it. Proved directly from the three subspace conditions using and .
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 or 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 matrix, the null space and the row space consist of vectors of size , while the column space and the left null space consist of vectors of size . 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 with inside , and with inside .
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 — 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
Equations
Column space as a span
EQ-SC-01Here denotes the -th column of . The column space is a span of vectors from , hence a subspace of by the span theorem.
Row space as a column space of the transpose
EQ-SC-02Transposing turns rows into columns, so no new argument is required: the row space is a column space of an matrix.
Left null space as a null space of the transpose
EQ-SC-03Vectors annihilating from the left. Because it is a null space of , it is a subspace of .
Null space of a matrix
EQ-SC-04The primitive constraint-defined construction, proved a subspace directly from the three conditions.
Closure under arbitrary linear combinations
EQ-SC-05Induction 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-06Each 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 .
Variable Definitions
| Symbol | Name | Meaning | Domain / type |
|---|---|---|---|
| Matrix | The matrix generating all four subspaces | m x n matrix | |
| Transpose | Rows and columns exchanged; converts row constructions into column constructions | n x m matrix | |
| Null space | Vectors annihilated by | subspace of C^n | |
| Column space | Span of the columns; the set of attainable right-hand sides | subspace of C^m | |
| Row space | Span of the rows, equal to | subspace of C^n | |
| Left null space | Vectors annihilating from the left, equal to | subspace of C^m | |
| Row count | Size of the ambient space for the column space and left null space | positive integer | |
| Column count | Size of the ambient space for the null space and row space | positive integer | |
| Rank | Common dimension of the row space and the column space | 0 to min(m,n) |
Worked Numerical Example
Problem statement
A sensor fusion model relates four raw channel readings to three derived quantities through a observation matrix. Identify all four subspaces attached to the matrix, state which ambient space each lives in, and confirm the dimension bookkeeping.
State the matrix
The observation matrix maps to . Note before any computation that the third row is the sum of the first two, so the rows carry a dependency.
Reduce to reduced row-echelon form
Gauss-Jordan reduction gives a matrix with two non-zero rows, so . The pivot columns are and .
Null space — a subspace of
The reduced form gives and , with and free. Setting each free variable to one in turn produces a spanning set, and direct substitution confirms for both. This set is a subspace of because it is a null space.
Column space — a subspace of
The column space is the span of the four columns of , and the pivot columns of the reduced form identify columns and of the original matrix as a linearly independent spanning subset. It is a subspace of because it is a span of vectors of size three.
Row space — a subspace of
Row operations do not change the row space, so the non-zero rows of the reduced form span it. It is a subspace of because it is the column space of , a matrix.
Left null space — a subspace of
Reducing gives rank two, so the nullity of is . Solving gives and . It is a subspace of because it is a null space of .
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:
Check the dimension bookkeeping
In : . In : . Both accounts balance, which is a strong check on the whole computation.
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
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.
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.
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.
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.
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.
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 and explicitly prevents a whole class of errors, including comparing subspaces of different sizes and misapplying rank-nullity. When the discipline is essential; when 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 matrix of rank , the row and column spaces both have dimension , the null space has dimension and the left null space has dimension . 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 , and in floating point is defined only relative to a tolerance. A near-dependency in the data can shift 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.
| Reference | Title | Relevance to this topic |
|---|---|---|
ISO 80000-2 | Quantities and units — Part 2: Mathematics | Standardises the transpose notation , the script letters used for the four subspaces, and the upright rendering of and . |
LAPACK / BLAS reference | Linear Algebra PACKage reference implementation | Supplies 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-2019 | IEEE Standard for Floating-Point Arithmetic | Determines the rounding behaviour that makes the rank — and hence all four subspace dimensions — a tolerance-dependent quantity in computed models. |
IEC 61131-3 | Programmable controllers — Part 3: Programming languages | Governs 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 40314 | Mathematical Markup Language (MathML) Version 3.0 | Encodes 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 | Select when | Trade-off |
|---|---|---|
| Exact rational arithmetic | Small 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 rank | The 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 pivoting | A basis for the column space consisting of actual columns of 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 methods | Very 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 storage | Moderate matrices where all four subspaces are needed at once and BLAS throughput dominates. | Best use of optimised kernels, but memory grows as regardless of how sparse the underlying model is. |
| Integer arithmetic modulo a prime | Certifying 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 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 instead, which exposes it in the same pass.
Operation counts
A single Gauss-Jordan reduction of a dense matrix costs 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 for a null space basis and for a left null space basis , both to a scaled tolerance. Then check that the two dimension sums equal and 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 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 mode / mistake | Impact | Root cause | Prevention & detection |
|---|---|---|---|
| Confusing the ambient spaces | high | Treating and as living in the same space when , 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 form | high | Assuming 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 subspace | high | Applying the null space theorem to with . | Check the right-hand side is zero; otherwise decompose as a particular solution plus . |
| Mis-sizing the left null space | medium | Computing instead of , producing vectors of the wrong length. | Transpose first, then apply the null space routine, and verify the result has components. |
| Reporting dimensions that do not balance | medium | Computing the four dimensions independently with inconsistent rank tolerances. | Compute rank once and derive all four dimensions from it, then assert the two sums equal and . |
| Confusing the row space with the set of rows | medium | Claiming 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 point | medium | Determining 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 disjoint | low | Overlooking that all four contain the zero vector, so no two of them are ever disjoint as sets. | State intersection results as 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 without solving anything.
Which ambient space does each of the four subspaces sit in?
For an matrix, the null space and row space consist of vectors of size and sit in ; the column space and left null space consist of vectors of size and sit in . 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
- 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.
- Strang, G. Linear Algebra and Its Applications, 4th edition. Cengage Learning, 2006.
- Golub, G. H. and Van Loan, C. F. Matrix Computations, 4th edition. Johns Hopkins University Press, 2013.
- ISO 80000-2:2019, Quantities and units — Part 2: Mathematics. International Organization for Standardization.
- Anderson, E. et al. LAPACK Users' Guide, 3rd edition. Society for Industrial and Applied Mathematics, 1999.
AI Suggested Questions
- For a 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
Return bases and dimensions for the null space, column space, row space and left null space of a matrix in one pass.
Matrix Rank & Nullity CalculatorCompute rank, nullity and the pivot column set with a selectable numerical tolerance.
Null Space Basis CalculatorSolve a homogeneous system and return a spanning set for the resulting subspace.
