Linear Algebra · Theory · M3
M3-T6 — Row Space and Left Null Space
Every matrix has four subspaces that fit together in two perpendicular pairs. Two you have met; the other two explain redundancy and consistency.
The column space and null space describe what a matrix does to inputs. Their transposed twins, the row space and the left null space, describe what its rows demand and which combinations of measurements must cancel. Together they form the complete geometric picture of a linear map, and a neat set of right angles.
Learning objectives
After this lesson, you should be able to:
- Define the row space and the left null space and say which space each lives in.
- State the dimensions of all four subspaces in terms of r, m and n.
- Prove that the row space is orthogonal to the null space and the column space to the left null space.
- Use the left null space to read consistency conditions and the transposed picture for static forces.
Introduction and motivation
Suppose a robot has more sensors than unknowns. Some combinations of the sensor readings must cancel exactly, if the measurements are consistent; those combinations are the left null space, and checking them is how redundancy detects faults. Or consider an arm holding a payload: the joint torques that balance a hand force come from the transpose of the Jacobian, and forces in the left null space of the Jacobian are carried by the structure and need no torque at all. The remaining two subspaces are as practical as the first two.
The intuition
The rows of a matrix are as informative as its columns. The row space is everything you can build from the rows: it is the column space of the transpose. It lives in the same space as the inputs, because each row has one entry per input.
The left null space is the set of row-combinations that add up to the zero row: vectors y with yᵀA = 0. It lives in the output space. It records exactly which equations are redundant.
Interactive figure. The two columns of a two by two matrix drawn as arrows with the column space, the null space and the row space. In a rank-one matrix the row space line is always perpendicular to the null space line. This figure needs JavaScript to be interactive.
Geometric and physical interpretation
Geometric view. Inside the input space Rn, the row space and the null space are perpendicular and together span everything: every input splits uniquely into a part that the matrix “sees” (the row space part) and a part it sends to zero (the null-space part). Inside the output space Rm, the column space and the left null space are perpendicular in the same way: the outputs the matrix can reach, and the directions it can never reach. Physical view. The row space part of an input is the part that matters for the measurements; the null space part is invisible. The left null space contains the constraint equations among your outputs: any measurement vector that is physically possible must be perpendicular to it.
The mathematics
- C(Aᵀ)
- the row space: all combinations of the rows of A. A subspace of Rn.
- N(Aᵀ)
- the left null space: all y with Aᵀy = 0, equivalently yᵀA = 0. A subspace of Rm.
- r
- the rank of A.
Dimensions
dim C(A) = r dim N(A) = n − r dim C(Aᵀ) = r dim N(Aᵀ) = m − r
What it means. The row space and the column space always have the same dimension, r, because row rank equals column rank. The two null spaces take up the remaining dimensions of their spaces.
Orthogonality
x in N(A), z in C(Aᵀ) ⇒ x · z = 0 y in N(Aᵀ), w in C(A) ⇒ y · w = 0
What it means. Every null-space vector is perpendicular to every row-space vector, and every left-null-space vector is perpendicular to every column-space vector. In each space, the two subspaces together fill the space and meet only at 0.
Consistency
A x = b is solvable ⇔ y · b = 0 for every y in N(Aᵀ)
What it means. If a combination of the rows adds to zero, the same combination of the right-hand sides must also add to zero, or the equations contradict each other.
Four subspaces, two perpendicular pairs: row space ⟂ null space (in the input space) and column space ⟂ left null space (in the output space).
Step-by-step derivation: the orthogonality relations and the consistency test
Row space ⟂ null space. Let x be in the null space, so A x = 0.
- The i-th entry of
A xis the dot product of row i with x, soA x = 0says(row i) · x = 0for every i. The vector x is perpendicular to every row. - A vector in the row space is a combination
z = c₁(row 1) + … + cm(row m). Thenx · z = c₁ x·(row 1) + … = 0. - So every null-space vector is perpendicular to every row-space vector.
Column space ⟂ left null space. Apply the same argument to Aᵀ: if Aᵀy = 0, then y is perpendicular to every row of Aᵀ, which are the columns of A. Hence y is perpendicular to the column space.
Filling the space. The dimensions add up: r + (n − r) = n. Perpendicular subspaces meet only at 0, so together they span all of Rn. Hence every input splits uniquely as x = x_row + x_null, and A x = A x_row: the null-space part is annihilated and the row-space part does all the work. Likewise every output vector splits into a column-space part and a left-null-space part.
The consistency test. If A x = b has a solution then b ∈ C(A), so for every y ∈ N(Aᵀ) we have y · b = 0 by the orthogonality of the column space and the left null space. Conversely, if b is perpendicular to the left null space then, since the column space and left null space fill Rm, b lies in the column space and is reachable.
A worked example: all four subspaces and a consistency check
Take A = [[1, 2, 3], [2, 4, 6]] (m = 2, n = 3, rank r = 1).
- Row space (in R³): the rows are (1, 2, 3) and (2, 4, 6), multiples of one another. So
C(Aᵀ)is the line through (1, 2, 3). Dimension 1 = r ✓. - Null space (in R³): spanned by (−2, 1, 0) and (−3, 0, 1) from the last lesson, dimension 2 = n − r ✓.
- Orthogonality.
(1, 2, 3)·(−2, 1, 0) = −2 + 2 + 0 = 0and(1, 2, 3)·(−3, 0, 1) = −3 + 0 + 3 = 0✓. The row space is perpendicular to the null space. - Column space (in R²): the line through (1, 2). Left null space (in R²): solve
yᵀA = 0:y₁(1, 2, 3) + y₂(2, 4, 6) = 0givesy₁ = −2y₂, spanned by(2, −1), dimension 1 = m − r ✓. - Orthogonality.
(2, −1)·(1, 2) = 2 − 2 = 0✓. - Consistency. For
A x = (b₁, b₂)to be solvable we need(2, −1)·b = 0, that is2b₁ = b₂. Sob = (3, 6)is consistent (2·3 = 6) butb = (3, 5)is not (2·3 ≠ 5), agreeing with the column space check of the previous lesson.
Robotics application
Redundant sensors and fault detection. With more sensors than unknowns (m > n, rank n), the left null space has dimension m − n. Each of its vectors is a parity check: a fixed combination of the sensor readings that must be zero if all sensors are healthy. Aircraft with redundant inertial sensors compute exactly these parity vectors to detect and isolate a failed sensor, a technique used in fault-detection design. The UAV track covers the practical side in fault detection, isolation and recovery.
Static forces and torques. For an arm at rest, the joint torques balancing a hand wrench are τ = Jᵀ w (Module 8). A wrench in the left null space of J (so Jᵀ w = 0) requires no joint torque at all: the arm's structure carries it, which is why a stretched arm can hold a heavy load along its length with little motor effort. This is also what happens at a singular pose.
Decomposing inputs. Splitting an input into its row-space and null-space parts is the basis of the minimum-norm solution of Module 5 and of the pseudoinverse of Module 6: the smallest solution is the one with no null-space component.
Orthogonality as a test. A valid measurement vector must be orthogonal to the left null space. A large component along a left-null direction signals either noise or a faulty sensor.
Engineering implications and limitations
Practical rules
- Get orthonormal bases from the SVD. The SVD (Module 6) delivers orthonormal bases of all four subspaces at once and a numerical rank. Do not compute them by elimination in production code.
- Parity checks need thresholds. With noise the parity residual is small but not zero. Set the detection threshold from the sensor noise statistics, not from exact zero.
- Check that sensors are really independent. A left null space that is smaller than expected means two sensors are effectively identical, so a common-mode failure cannot be caught.
- Mind the spaces. Row space and null space are in the input space; column space and left null space are in the output space. Mixing them up is a frequent source of dimension errors.
- Orthogonal does not mean small. A null-space component can be large; it is simply invisible to the matrix. Do not read a small output as a small input.
Limits
The orthogonality statements rely on the dot product being the right notion of angle. If the unknowns have very different units or uncertainties, the natural geometry is weighted (Module 5 and Module 9), and the “orthogonal complement” changes accordingly.
Common misconceptions
“The row space and column space are the same.”
They have the same dimension but live in different spaces (inputs vs outputs) and are generally different sets, even for a square matrix.
“The left null space is just another name for the null space.”
The null space solves A x = 0 in Rn; the left null space solves Aᵀy = 0 in Rm. They coincide only in special cases (for instance symmetric matrices have equal row and column spaces and equal null spaces).
“If the null space is large the matrix is bad.”
It means many inputs are indistinguishable, which is a statement about the problem. It becomes bad only if you expected a unique answer.
“Orthogonal subspaces only matter in pure mathematics.”
They are exactly why the least-squares and minimum-norm solutions work (Module 5) and why parity checks work in redundant sensing.
Engineering takeaways
- The four subspaces are C(A) and N(Aᵀ) in the output space, C(Aᵀ) and N(A) in the input space, with dimensions r, m − r, r and n − r.
- The row space is orthogonal to the null space and the column space to the left null space, by the “each row dotted with x is zero” argument.
- In each space the two subspaces fill the space together, so every vector splits uniquely into the two parts.
- A x = b is solvable exactly when b is orthogonal to the left null space (the consistency test).
- The left null space gives parity checks for redundant sensors, and the transposed picture explains static forces on an arm.
References and further reading
Primary papers and authoritative documentation.
- MIT 18.06SC Linear Algebra (OCW): lectures on the four fundamental subspaces
- 3Blue1Brown, Essence of Linear Algebra: the geometry of Aᵀ and the four subspaces
- Mathematics for Machine Learning: the chapter on analytic geometry and matrix decompositions
- Axler, Linear Algebra Done Right: the abstract orthogonal complement picture
Knowledge check
Three conceptual questions. Write an answer, then reveal the explanation. Your answers stay in your browser.
Question 1
For A = [[1, 0], [0, 1], [1, 1]] (3 × 2) give the rank, the dimension of each of the four subspaces, and a vector in the left null space.
Explanation
Rank r = 2 (the columns are independent). Dimensions: column space 2 (a plane in R³), null space n − r = 0, row space 2 (all of R²), left null space m − r = 1. A left-null vector satisfies yᵀA = 0: y = (1, 1, −1) gives (1 + 0 − 1, 0 + 1 − 1) = (0, 0). It is perpendicular to every column, e.g. (1, 1, −1)·(1, 0, 1) = 0.
Question 2
Three redundant sensors measure two unknowns through H = [[1, 0], [0, 1], [1, 1]]. Write the parity check that must be zero when all sensors are healthy, and say what a non-zero value tells you.
Explanation
The parity vector is the left-null vector (1, 1, −1): p = z₁ + z₂ − z₃ must equal zero for any healthy set of readings (since z₃ = x₁ + x₂ = z₁ + z₂). With noise it is small; a value well above the noise level means at least one of the three sensors is faulty or inconsistent.
Question 3
Why is any solution of A x = b the sum of a row-space part and a null-space part, and which part can the matrix never change?
Explanation
The row space and null space are perpendicular and together fill the input space, so every x splits uniquely as x = xrow + xnull. Since A xnull = 0, the output depends only on xrow: the matrix cannot detect the null-space part, so it cannot be changed (or recovered) by looking at A x. This is why the minimum-norm solution, which sets the null-space part to zero, is unique.
What’s next
You now know the four spaces. The next lesson picks out the smallest sets of vectors that describe them, called bases, and uses the count (the dimension) to count degrees of freedom.
Related content
Nothing below is required to finish this lesson.
- BeforeM3-T5: Column Space and Null Space
Describe which outputs a matrix can reach and which inputs it sends to zero, and read both as robot capabilities.
Get notified when the next lesson and new labs are released.
One email per new lesson or lab.