← LibraryColumn Spaces and Systems of Equations | KEVOS® MathematicsProject Delivery · Project ManagementLesson 41/189← PrevNext →
ArticlePublished 8 Aug 202624 min readBy Kevin Jogin
Skip to content

Engineering/Mathematics/Matrices

Column Spaces and Systems of Equations

The column space C(A) is the span of the columns of A, a subspace of m. Its defining property is decisive: a vector b lies in C(A) if and only if the system Ax=b has a solution, which turns every solvability question into a membership question about a fixed set.

  • Core level
  • Stream: subspaces
  • Reading time 14 min
  • Ref KVS-ENG-MATH-0047
Taxonomy
Engineering / Mathematics
Prerequisite
Span; matrix-vector product; consistency
Lives in
m — the space of right-hand sides
Key theorem
bC(A)Ax=b is consistent
Dimension
rank(A)
Test
Row-reduce [Ab] and check the final column

Overview

A matrix-vector product Ax is a linear combination of the columns of A with the entries of x as coefficients. Letting x range over all of n therefore sweeps out every linear combination of those columns. That set of outputs is the column space, written C(A), and it is a subspace of m — the space in which the right-hand sides of the system live, not the space of unknowns.

The reason it matters is that solvability is not a property of a single system but of a whole family. Fix the matrix and vary the right-hand side: some choices produce consistent systems and some do not. The vectors that produce consistent systems are precisely the members of the column space, and that is a complete answer rather than a partial criterion. It converts an existence question — does a solution exist? — into a membership question about a fixed, structured set that can be computed once and reused for every right-hand side.

In engineering language the column space is the reachable set of the operator. If A maps actuator commands to forces, C(A) is the set of achievable forces. If A maps source injections to measurements, C(A) is the set of measurement patterns the model can reproduce. A specification lying outside the column space is not a numerical difficulty to be solved with a better algorithm; it is infeasible for the hardware or model as configured, and the only remedies are to change the specification or change the matrix.

The column space also carries a dimension: dimC(A)=rank(A), the number of pivot columns of the reduced row-echelon form. When the rank is less than m the column space is a proper subspace, and there exist right-hand sides — in fact most of them — for which no solution exists. When the rank equals m the column space fills m and every system with this coefficient matrix is consistent, whatever the data.

Definition

Column Space of a Matrix

CSM

Let A be an m×n matrix with columns A1,A2,,An. The column space of A is the span of that set of columns:

  • C(A)=span({A1,A2,,An})m
Every element is a linear combination α1A1++αnAn for some choice of complex scalars.

Because a span is always a subspace, C(A) contains 0 and is closed under addition and scalar multiplication. Some authors call it the range of A; this library reserves that word for linear transformations.

Column Spaces and Consistent Systems

CSCS

Let A be m×n and b a vector of size m. Then bC(A) if and only if the system Ax=b is consistent. Both directions come from the correspondence between solutions and linear combinations: a solution supplies the coefficients that express b in terms of the columns, and such coefficients supply a solution.

The theorem is an equivalence, so it can be used in either direction — to settle membership by solving a system, or to settle solvability by inspecting a known description of the column space.

Column Space as an Image

CSI

An equivalent and widely used description is C(A)={ymy=Axfor somexn}. This is the set of all outputs the matrix can produce, and it coincides with the span of the columns because every matrix-vector product is a linear combination of columns.

Concepts

Why the equivalence holds, and the test it licenses

Suppose bC(A). Then b=α1A1++αnAn for some scalars, and collecting those scalars into a vector x gives Ax=b, so the system is consistent. Conversely, if the system has a solution x, then expanding Ax as a linear combination of the columns exhibits b as exactly such a combination, so b lies in the span. The two directions are the same fact read forwards and backwards, and the pivot is the definition of the matrix-vector product.

Given A and b, form the augmented matrix [Ab] and row-reduce it. If column n+1 contains a leading one, the reduced system contains the equation 0=1, the system is inconsistent, and bC(A). Otherwise the system is consistent and bC(A). The test is completely deterministic, requires no insight into the structure of A, and as a by-product produces an explicit set of coefficients whenever the answer is affirmative.

Two sizes, two spaces — do not mix them

For an m×n matrix the columns have m entries, so C(A)m. The null space, by contrast, consists of vectors x with n entries and lives in n. The column space answers questions about which right-hand sides are attainable; the null space answers questions about how many solutions there are once one exists. They are subspaces of different spaces whenever A is rectangular, and conflating them is a routine and serious error.

Rank is the dimension

The dimension of C(A) equals rank(A), the number of pivot columns in the reduced row-echelon form of A. Three cases follow. If rank(A)=m the column space is all of m and every system with this coefficient matrix is consistent. If rank(A)<m the column space is a proper subspace, and the set of right-hand sides that fail is overwhelmingly larger than the set that succeeds. If rank(A)<n there are redundant columns, so solutions — when they exist — are not unique.

Describing the whole column space by conditions on b

Testing one vector at a time answers one question at a time. A more useful description states which vectors qualify, as a set of linear conditions. Carrying a symbolic right-hand side [b1b2bm]t through the reduction produces exactly mr independent equations that b must satisfy, where r is the rank. Those equations are given by the left null space L(A), since ytA=0t forces ytb=0 for every attainable b. One reduction then answers the membership question for all future right-hand sides at the cost of a dot product each.

Square and non-singular is the degenerate case

If A is square of size n and non-singular, every system Ax=b has a unique solution, so every b is attainable and C(A)=n. The column space then carries no information — it is the whole space — which is exactly why the concept is invisible in courses that treat only invertible square systems. The column space earns its keep on rectangular, rank-deficient and over-determined problems, which is where engineering data actually lives.

Inconsistency is a modelling result, not a numerical failure

When measured data b lies outside C(A) the system has no solution, and no algorithm can produce one. The engineering response is to decide which compromise is wanted: project b onto the column space and solve the resulting least-squares problem, enlarge the model by adding columns, or reject the specification as unattainable. Recognising which of these applies requires knowing the column space, not merely observing that a solver returned an error.

Procedure: is a given right-hand side attainable?

Check the sizesThe vector b must have m entries, matching the row count of A. A vector of length n is a candidate solution, not a candidate right-hand side.
Augment and reduceForm [Ab] and row-reduce. Carry the constants column through every operation; reducing A alone discards exactly the information being tested.
Inspect the final columnA leading one in column n+1 means the reduced system asserts 0=1. The system is inconsistent and bC(A); stop here.
Extract a witnessIf consistent, set the free variables to any convenient values and read off a solution. Its entries are the coefficients expressing b as a combination of the columns — the certificate of membership.
Generalise if the test will be repeatedFor many right-hand sides, reduce with a symbolic b once to obtain the mr consistency conditions, then test each future vector with a few dot products instead of a full reduction.

Equations

Definition of the column space

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

The span of the columns. Note the containing space: the columns have m entries, so the column space sits in m, not n.

Column space as an image

EQ-CSSE-02
C(A)={ymy=Axfor somexn}

The set of all outputs the matrix can produce. Equivalent to the span description because every product Ax is a linear combination of columns.

Consistency criterion

EQ-CSSE-03
bC(A)Ax=bis consistent

The central theorem. Solvability of the system and membership of the right-hand side are the same statement.

Membership certificate

EQ-CSSE-04
b=α1A1+α2A2++αnAn=Aα

A solution vector is precisely the list of coefficients that exhibits b as a combination of the columns, so any solver doubles as a membership prover.

Dimension of the column space

EQ-CSSE-05
dimC(A)=rank(A)=r

The number of pivot columns of the reduced row-echelon form. It is at most min(m,n) and determines how large the attainable set is.

Consistency conditions from the left null space

EQ-CSSE-06
bC(A)ytb=0 for every yL(A)

There are mr independent conditions. Each is a single linear equation on b, so membership becomes a handful of dot products once they are known.

Full row rank makes every system consistent

EQ-CSSE-07
rank(A)=mC(A)=mAx=bconsistent for all b

The condition under which the column space carries no restriction. For square A this is equivalent to non-singularity.

Variable Definitions

Symbols used on this page
SymbolNameMeaningDomain / type
ACoefficient matrixThe matrix whose columns are being spannedm x n matrix
AjColumn of AThe j-th column, an element of melement of C^m
bRight-hand sideThe vector whose membership in the column space is in questionelement of C^m
xSolution vectorCoefficients of the linear combination; a certificate of membershipelement of C^n
C(A)Column spaceAll linear combinations of the columns; the attainable setsubspace of C^m
L(A)Left null spaceVectors y with ytA=0t; supplies the consistency conditionssubspace of C^m
rRankNumber of pivot columns; the dimension of the column space0 to min(m,n)
mRow countNumber of equations; size of the vectors in the column spacepositive integer
nColumn countNumber of unknowns; number of spanning vectors offeredpositive integer

Worked Numerical Example

Problem statement

A planar platform is driven by four actuators. Each unit of actuator command produces a wrench with components (Fx,Fy,M), and the four columns of A record those wrenches. Determine whether the commanded wrench v=[5113]t is achievable, whether w=[5110]t is achievable, and characterise the entire set of achievable wrenches.

  1. Assemble the actuator matrix

    Each column is the wrench delivered per unit of command from one actuator. Note immediately that column 2 is twice column 1: actuators 1 and 2 act along the same line, so the second adds capacity but no new direction.

    A=[123124731211]
  2. State what is being asked

    The achievable wrenches are exactly the vectors Ax for command vectors x4, which is the column space C(A)3. Asking whether a commanded wrench is achievable is asking whether it lies in that set, which by the consistency theorem is the same as asking whether Ax=v has a solution.

  3. Test the first target by row reduction

    Augment A with v and reduce. No leading one appears in the final column, so the system is consistent and vC(A): the wrench is achievable.

    [1231524731112113][120220011100000]
  4. Extract an explicit command vector

    Setting the free variables x2 and x4 to zero gives x1=2 and x3=1. Substituting back confirms the combination exactly, and this vector is the certificate of membership: it says how to drive the actuators to realise the wrench.

    2[121]+1[371]=[5113]=v
  5. Test the second target

    Repeating the reduction with w in the final column produces a leading one in that column, corresponding to the equation 0=1. The system is inconsistent, so wC(A) and no combination of actuator commands can produce that wrench.

    [1231524731112110][120200011000001]
  6. Characterise the whole achievable set

    Reducing A alone gives two pivot columns, so rank(A)=2 and C(A) is a two-dimensional subspace of 3 — a plane through the origin. With mr=1, there is exactly one consistency condition, obtained from the single independent vector y satisfying ytA=0t.

    y=[521],C(A)={b35b12b2+b3=0}
  7. Re-test both targets against the condition

    For v: 5(5)2(11)+(3)=25223=0, so it qualifies. For w: 5(5)2(11)+0=30, so it does not, and the value 3 measures by how much the target violates the constraint. Both conclusions match the row reductions, at the cost of one dot product each instead of a full elimination.

    5v12v2+v3=0,5w12w2+w3=3
  8. Read the engineering meaning

    The four actuators span only a plane in the three-dimensional wrench space, because column 2 duplicates column 1 and only two independent directions remain. The platform is under-actuated: one whole direction of wrench, characterised by the condition above, cannot be produced at any command level. Adding a fifth actuator whose wrench violates the condition would raise the rank to 3 and make every wrench achievable.

Result

The first commanded wrench is achievable, with an explicit command vector [2010]t and a one-parameter family of alternatives from the two free variables. The second is not achievable at all, and increasing actuator authority will not help — the deficiency is geometric, not one of magnitude. The single condition 5b12b2+b3=0 characterises the entire achievable set and reduces every future feasibility check to one dot product.

Applications &amp; Industry Use

Robotics and mechatronics

Actuator authority and under-actuation

The wrenches a mechanism can generate form the column space of its actuation Jacobian. A commanded wrench outside it is unattainable regardless of actuator sizing, so column-space analysis at design time exposes under-actuation and singular configurations before hardware is committed.

Electrical power systems

Feasible injection patterns

For a linearised network model, the achievable set of bus power injections is the column space of the sensitivity matrix. Dispatch targets outside it cannot be met by any combination of controllable sources, which distinguishes a genuinely infeasible schedule from one that merely needs a better solver.

Chemical and process engineering

Attainable blend compositions

With feedstock composition vectors as columns, the achievable product compositions form the column space. A specification outside it is unreachable with the current feedstock slate, and the consistency conditions identify precisely which component ratios are locked by the available materials.

Control systems

Reachability of states

The set of states reachable from the origin by a discrete-time linear system is the column space of the controllability matrix. The classical rank test is the statement that this column space fills the whole state space, and when it does not, its basis identifies exactly which state directions can be influenced.

Statistics and data science

Fitted values and least squares

In a linear model the vector of fitted values is constrained to the column space of the design matrix. Ordinary least squares projects the observed response onto that subspace, and the residual is the part lying outside it — so the column space is precisely the set of responses the model could reproduce exactly.

Structural engineering

Equilibrium-admissible load patterns

For a given set of member forces, the achievable nodal load vectors form the column space of the equilibrium matrix. Loads outside it cannot be carried in equilibrium by the current topology, which is the algebraic signature of a mechanism requiring an additional member or support.

Design Considerations

Compute the description once, test many times

Row-reducing an augmented matrix answers the question for one right-hand side at O(mn2) cost. Reducing with a symbolic right-hand side, or computing a basis for the left null space, produces the mr consistency conditions once and reduces every subsequent test to mr dot products. Where feasibility is checked in a loop or in real time, this is the difference between an offline analysis and an online one.

Do not confuse the column space with the space of unknowns

For a rectangular matrix the column space lives in m and the null space in n. Sizing a buffer, a plot axis or a test assertion against the wrong dimension is a common and confusing error. Write the shapes down before writing the code.

In floating point, membership is a tolerance decision

Measured data almost never lies exactly in a computed column space. Rather than testing for exact consistency, compute the least-squares residual Axb at the minimising x and compare it against a tolerance scaled by b. A small relative residual is the practical meaning of membership on real data.

Distinguish infeasibility from ill-conditioning

A right-hand side may lie inside the column space in exact arithmetic yet produce enormous solution coefficients because it is nearly outside. The remedy differs: genuine infeasibility requires a model change, while near-infeasibility calls for regularisation or a truncated singular value decomposition. Report the residual and the condition number together, since neither alone distinguishes the two cases.

Adding columns can only enlarge the column space

Appending a column either leaves C(A) unchanged — if the new column is already a combination of the existing ones — or increases its dimension by exactly one. This gives a direct design rule: to make an unattainable target reachable, add a column that violates one of the current consistency conditions. Adding anything else is wasted.

Prefer a rank-revealing factorisation to row reduction at scale

Reduced row-echelon form is exact and readable but numerically fragile and cubic in cost. For large or noisy matrices, a column-pivoted QR or a singular value decomposition determines rank and produces an orthonormal basis for the column space with far better numerical behaviour and an explicit tolerance.

Standards &amp; 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: MathematicsFixes the notation for spans, subspaces and set-builder descriptions used to define C(A), and the convention that a matrix acts on the right of a column vector.
LAPACK / BLAS referenceLinear Algebra PACKage reference implementationRoutines xGELSD and xGELSY solve rank-deficient least-squares problems, returning the projection of b onto C(A) and a numerical rank determined by an explicit tolerance.
IEEE 754-2019IEEE Standard for Floating-Point ArithmeticRounding means a consistent system rarely reduces to an exactly zero residual, so the standard's error model is what forces membership tests to be stated relative to a tolerance.
ISO 9283Manipulating industrial robots — Performance criteria and related test methodsTask-space performance is specified in the same coordinates as the achievable wrench and velocity sets of a manipulator, which are column spaces of its Jacobians; deficient rank at a configuration is what the standard's pose accuracy tests expose as a singularity.
ISO/IEC 40314Mathematical Markup Language (MathML) Version 3.0Encodes the augmented matrices and set-builder notation on this page semantically, keeping the partition between coefficients and constants machine-readable.

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 arithmeticDesign-time feasibility analysis where the answer must be a definite yes or no, and the matrix is small.Membership is decided exactly with no tolerance, and the consistency conditions come out in closed form; but coefficient growth limits practical size and the result says nothing about conditioning.
IEEE 754 binary64 with a least-squares residual testMeasured or estimated data, where exact membership is not expected.Gives a graded answer — how far outside — rather than a binary one, which is usually what is wanted; requires choosing and documenting a relative tolerance.
Singular value decomposition with a rank toleranceNoisy or nearly rank-deficient matrices where the dimension of the column space is itself uncertain.The most numerically defensible determination of both rank and an orthonormal basis, at roughly ten times the cost of an LU factorisation.
Column-pivoted QRA basis for the column space is needed alongside a rank estimate, at moderate cost.Cheaper than the singular value decomposition and rank-revealing in practice, though it can fail to reveal rank on specially constructed matrices.
Sparse storage with sparse QRLarge network, finite element or circuit matrices where most entries are zero.Keeps memory proportional to non-zeros and exploits structure, but fill-in during factorisation can be severe without a good ordering, and rank decisions on sparse data are delicate.
Finite field arithmeticCoding theory and combinatorial feasibility, where the scalars are drawn from a finite field.Exact and fast with no tolerance questions at all; but rank over a finite field can differ from rank over the rationals, so results do not transfer between the two settings.

Manufacturing Notes

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

Cost of the membership test

Row-reducing the m×(n+1) augmented matrix costs about 23mn2 operations in the dense case, the same order as solving the system outright — which is exactly what the test does. Testing k different right-hand sides against the same matrix should reuse a single factorisation rather than repeating the reduction k times.

Deriving the conditions with a symbolic right-hand side

Carry b1,b2,,bm as symbols through the elimination. The rows that reduce to zero on the coefficient side leave linear expressions in the bi that must vanish, and there are exactly mr independent ones. This is a hand technique that scales poorly, but it produces the consistency conditions in interpretable closed form, which a numerical basis for the left null space does not.

Library behaviour

numpy.linalg.lstsq returns a minimising x, the residual and the numerical rank, and is the practical membership test on floating-point data: a residual near zero means b is effectively in the column space. scipy.linalg.orth returns an orthonormal basis for the column space from the singular value decomposition. SymPy's columnspace returns original columns exactly, which is appropriate for symbolic work only.

Verification technique

Whenever a membership claim is made affirmatively, produce the coefficient vector and multiply out: check Axb directly against the original matrix, not the reduced one. When the claim is negative, produce a vector y from the left null space with ytA=0t and ytb0; that single vector is a compact and checkable certificate of infeasibility.

Projection when membership fails

If bC(A), the nearest attainable vector is its orthogonal projection onto the column space, computed stably from a QR factorisation as QQb where the columns of Q are an orthonormal basis. The residual bQQb lies in the left null space and quantifies exactly how far the specification is from feasible.

Failure Modes &amp; Common Mistakes

Failure modes, root causes and prevention
Failure mode / mistakeImpactRoot causePrevention & detection
Reducing the coefficient matrix without the right-hand sidehighRow-reducing A alone and inspecting it for information about b, which it cannot contain.Always augment before reducing; consistency is a property of the pair (A,b), never of A by itself.
Placing the column space in the wrong dimensionhighTreating C(A) as a subspace of n by analogy with the null space.Count entries: the columns of an m×n matrix have m entries, so the column space lies in m.
Confusing the column space with the row spacemediumRow reduction changes the columns while preserving the row space, so the two are easily interchanged after an elimination.Remember that row operations preserve the row space and generally destroy the column space; work from the original columns when the column space is wanted.
Assuming a full-rank matrix gives every right-hand sidemediumReading rank(A)=n (full column rank) as guaranteeing consistency, when the relevant condition is rank(A)=m.Distinguish the two: full column rank gives uniqueness when a solution exists, full row rank gives existence for every b.
Testing consistency by exact zero on floating-point datahighChecking whether a computed pivot in the augmented column is exactly zero, when rounding leaves it merely small.Solve in least squares and compare the relative residual Axb/b against a documented tolerance.
Concluding infeasibility from a solver failuremediumReading a numerical breakdown or a large residual as proof that the target is unattainable, when the true cause may be ill-conditioning or bad scaling.Produce a left null space certificate for genuine infeasibility, and report the condition number to distinguish the two cases.
Adding a redundant column to enlarge the reachable setmediumAdding an actuator, feedstock or predictor that is already a combination of the existing columns, which leaves the column space unchanged.Test the candidate column against the current consistency conditions; only a column violating at least one of them raises the rank.
Reporting a rank without a tolerancemediumQuoting the dimension of the column space from a floating-point computation as though it were an exact integer.State the tolerance and the method — singular value cut-off or pivot threshold — alongside any numerically determined rank.

FAQs

What exactly is the column space, and which space does it live in?

It is the set of all linear combinations of the columns of A, equivalently the set of all products Ax. Because the columns of an m×n matrix each have m entries, the column space is a subspace of m — the space of right-hand sides. The null space, by contrast, lives in n.

Why is membership in the column space the same as consistency?

Because a matrix-vector product is a linear combination of columns. If b is such a combination, its coefficients form a solution; if a solution exists, expanding the product exhibits b as such a combination. The two statements are the same fact read in opposite directions, which is why the theorem is an equivalence and usable either way.

How do I test whether a specific vector is in the column space?

Row-reduce the augmented matrix [Ab]. A leading one in the final column means the system is inconsistent and the vector is not in the column space. Otherwise it is, and any solution read from the reduced form gives the coefficients that prove it.

How can I describe the whole column space rather than testing one vector at a time?

Find the mr independent conditions that every attainable vector satisfies, where r is the rank. They come from the left null space: any y with ytA=0t forces ytb=0. Once these are known, membership costs a few dot products instead of a full row reduction.

When is the column space the whole of m?

Exactly when the rank equals m, that is when the matrix has full row rank. Every system with that coefficient matrix is then consistent for every right-hand side. For a square matrix this coincides with non-singularity, which is why the column space is invisible in problems restricted to invertible square systems.

What should I do when the data lies outside the column space?

Decide which compromise the application wants. Least squares projects the data onto the column space and returns the closest attainable vector, which is appropriate when the discrepancy is measurement noise. If the discrepancy is structural, the model is missing a column and should be extended. Simply forcing a solver to produce an answer conceals the distinction.

Is the column space the same thing as the range of the matrix?

Mathematically yes: the range of the map xAx is exactly the set of attainable outputs, which is the column space. This library reserves the word range for linear transformations and uses column space for matrices, to keep the two levels of description distinct; other sources use the terms interchangeably.

References

  1. Beezer, R. A. A First Course in Linear Algebra, Version 0.70. University of Puget Sound, 2006. Section CRS, subsection CSSE. Licensed under the GNU Free Documentation License v1.2.
  2. ISO 80000-2:2019, Quantities and units — Part 2: Mathematics. International Organization for Standardization.
  3. Strang, G. Linear Algebra and Its Applications, 4th edition. Cengage Learning, 2006.
  4. Golub, G. H. and Van Loan, C. F. Matrix Computations, 4th edition. Johns Hopkins University Press, 2013.
  5. Anderson, E. et al. LAPACK Users' Guide, 3rd edition. Society for Industrial and Applied Mathematics, 1999.
  6. IEEE 754-2019, IEEE Standard for Floating-Point Arithmetic. Institute of Electrical and Electronics Engineers.

AI Suggested Questions

  • Given a 5x8 matrix of rank 3, how many independent consistency conditions constrain the right-hand side, and how do I compute them?
  • Show me a matrix where a right-hand side lies inside the column space but the solution coefficients are enormous, and explain what that means physically.
  • Compare the column space of a matrix with the column space of its reduced row-echelon form, and explain why they differ.
  • How does the least-squares residual relate to the distance from the right-hand side to the column space?
  • Prove that appending a column to a matrix either leaves the column space unchanged or increases its dimension by exactly one.
  • Why is the controllability rank test in control theory just a statement about a column space filling the state space?

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