Solving Homogeneous Systems (Ax = 0)
Every homogeneous system Ax = 0 has at least one solution: x = 0. That fact alone makes these systems different from their nonhomogeneous cousins, and understanding why opens up a surprisingly clean theory of solution sets, free variables, and the structure of the null space.
At a Glance
- Ax = 0 is always consistent. The trivial solution x = 0 satisfies every homogeneous system, so "no solution" can never happen here.
- The real question is whether nontrivial solutions exist: that depends entirely on whether the RREF of A has any free variables.
- No free variables means only the trivial solution. At least one free variable means infinitely many solutions.
- The number of free variables equals n − r, where n is the number of columns and r is the rank (number of pivots).
- The full solution set of Ax = 0 is called the null space (or kernel) of A, and it's always a subspace: closed under addition and scalar multiplication, and it contains the zero vector.
- For a nonhomogeneous system Ax = b, the complete solution set is a particular solution plus every vector in the null space, shifted off the origin.
What Makes a System Homogeneous

A linear system is homogeneous when the right-hand side is the zero vector. In matrix form: Ax = 0, where A is an m×n matrix and x is an n×1 column vector. The equations look like:
a₁₁x₁ + a₁₂x₂ + ... + a₁ₙxₙ = 0
a₂₁x₁ + a₂₂x₂ + ... + a₂ₙxₙ = 0
...
aₘ₁x₁ + aₘ₂x₂ + ... + aₘₙxₙ = 0
Plugging in x = 0 satisfies every equation immediately. This is the trivial solution, and it guarantees consistency: you will never encounter the "no solution" case with a homogeneous system. The only real question is whether nontrivial solutions (x ≠ 0) also exist.
The Trivial Solution and Why It Always Exists
Since every equation has a zero on the right, setting all variables to zero produces 0 = 0 on each row. No contradiction is possible. This is a structural guarantee, not something you need to verify case by case.
The trivial solution is often uninteresting on its own. What matters for applications like finding a basis for the null space or characterizing the kernel of a linear transformation is whether the system has infinitely many solutions or just the one trivial solution.
When Do Nontrivial Solutions Exist?
After row reducing the augmented matrix [A | 0] to reduced row echelon form, count the pivot columns. A pivot in column j means xⱼ is a basic variable, tied directly to the pivot. Any column without a pivot corresponds to a free variable, which can take any real value.
The rule is direct:
- No free variables means the only solution is x = 0 (the trivial solution).
- At least one free variable means infinitely many solutions exist, all nontrivial solutions included.
For an m×n matrix with rank r (number of pivots), the number of free variables is n - r. So if A has more columns than pivots, nontrivial solutions are guaranteed. A square invertible matrix has rank n, so no free variables and only the trivial solution.
This rank-versus-columns comparison is worth doing before you row reduce anything, as a quick prediction. A 4×6 matrix (4 rows, 6 columns) can have at most rank 4, since rank can't exceed the smaller dimension. That leaves at least 6 − 4 = 2 free variables no matter how the entries fall, so a 4×6 homogeneous system always has nontrivial solutions before you write a single row operation.
See free variables and basic variables for a closer look at identifying these from the RREF.
A Worked Example
Consider the system Ax = 0 with:
A = | 1 2 -1 3 |
| 2 4 1 5 |
| 1 2 3 2 |
Step 1: Form the augmented matrix [A | 0]
| 1 2 -1 3 | 0 |
| 2 4 1 5 | 0 |
| 1 2 3 2 | 0 |
Step 2: Row reduce
R2 = R2 - 2·R1:
| 1 2 -1 3 | 0 |
| 0 0 3 -1 | 0 |
| 1 2 3 2 | 0 |
R3 = R3 - R1:
| 1 2 -1 3 | 0 |
| 0 0 3 -1 | 0 |
| 0 0 4 -1 | 0 |
R3 = R3 - (4/3)·R2:
| 1 2 -1 3 | 0 |
| 0 0 3 -1 | 0 |
| 0 0 0 1/3 | 0 |
R3 = 3·R3:
| 1 2 -1 3 | 0 |
| 0 0 3 -1 | 0 |
| 0 0 0 1 | 0 |
Back-substitute: R3 gives x₄ = 0. R2: 3x₃ - x₄ = 0, so 3x₃ = 0, meaning x₃ = 0. R1: x₁ + 2x₂ - x₃ + 3x₄ = 0, so x₁ = -2x₂.
Step 3: Identify free variables
Pivot columns: 1, 3, 4. Column 2 has no pivot, so x₂ is free. Set x₂ = t.
Step 4: Write the solution in parametric form
x₁ = -2t
x₂ = t
x₃ = 0
x₄ = 0
Or in parametric vector form:
x = t · | -2 |
| 1 |
| 0 |
| 0 |
The solution set is a line through the origin spanned by the vector (-2, 1, 0, 0). That single vector forms a basis for the null space of A.
Checking the answer. Plug the solution back into the original system with t = 1, giving x = (-2, 1, 0, 0). Row 1: 1(-2) + 2(1) - 1(0) + 3(0) = -2 + 2 - 0 + 0 = 0. Row 2: 2(-2) + 4(1) + 1(0) + 5(0) = -4 + 4 + 0 + 0 = 0. Row 3: 1(-2) + 2(1) + 3(0) + 2(0) = -2 + 2 + 0 + 0 = 0. All three rows check out at zero, confirming the solution is correct for any scalar multiple of this vector.
The Null Space
The set of all solutions to Ax = 0 is called the null space (or kernel) of A, written Nul(A) or ker(A). It is always a subspace of Rⁿ because:
- It contains the zero vector (the trivial solution).
- If u and v are solutions, so is u + v, since A(u + v) = Au + Av = 0 + 0 = 0.
- If u is a solution and c is a scalar, then A(cu) = cAu = c·0 = 0.
Wikipedia's article on the kernel of a linear map states this the same way: "The kernel of this linear map is the set of solutions to the equation Ax = 0," and "the kernel of L is a linear subspace of the domain V." Those three closure properties above are exactly what that subspace claim rests on.
The dimension of the null space is the number of free variables, also called the nullity of A. This connects to the rank-nullity theorem: rank(A) + nullity(A) = n. In the worked example above, A is 3×4 with rank 3 (three pivots) and nullity 1 (one free variable), and indeed 3 + 1 = 4, matching the four columns of A.
Homogeneous vs. Nonhomogeneous Systems
Suppose you want to solve Ax = b where b ≠ 0. Any solution to the nonhomogeneous system can be written as:
x = xₚ + xₕ
where xₚ is one particular solution to Ax = b, and xₕ is any solution to the associated homogeneous system Ax = 0. The full solution set of Ax = b is a translate of the null space of A, shifted by xₚ.
This decomposition is worth understanding concretely. If A is 3×4 with rank 2, then Nul(A) is a 2-dimensional subspace of R⁴. The solution set of Ax = b (when consistent) is a 2-dimensional flat (an affine subspace) that is parallel to Nul(A) but passes through xₚ instead of the origin.
Solving the homogeneous system first is often the most efficient approach to using RREF to solve linear systems, because the same row reduction reveals both the particular solution structure and the null space in one pass. MIT's OpenCourseWare linear algebra series devotes an entire early lecture to exactly this process, walking through pivot variables and the "special solutions" that span the null space (see MIT OCW 18.06, Lecture 7: Solving Ax = 0).
Trivial vs. Nontrivial Solutions by Matrix Shape
The shape of A alone tells you a lot before you row reduce anything:
| Matrix A | Max possible rank | Free variables (n − r) | Nontrivial solutions? |
|---|---|---|---|
| 3×3, full rank | 3 | 0 | No, only x = 0 |
| 3×3, rank 2 | 2 | 1 | Yes, a line through origin |
| 2×3 (fewer rows than columns) | 2 | at least 1 | Always yes |
| 4×3 (more rows than columns) | 3 | 0, if full rank | Usually no, but check rank |
| n×n, invertible | n | 0 | No, only x = 0 |
| n×n, singular (det = 0) | less than n | at least 1 | Always yes |
The single most useful shortcut in that table: any homogeneous system with more unknowns than equations (more columns than rows) is guaranteed to have nontrivial solutions, because rank can never exceed the number of rows, which leaves at least one column without a pivot.
Frequently Asked Questions
Does Ax = 0 always have a solution?
Yes, always. The zero vector x = 0 satisfies Ax = 0 for any matrix A, so the system is always consistent. This contrasts with Ax = b where b ≠ 0, which can be inconsistent if b is not in the column space of A.
How do I know if Ax = 0 has only the trivial solution?
Row reduce A (not the augmented matrix, since the zero column stays zero throughout) to RREF and count pivots. If the number of pivots equals the number of columns, every variable is basic and the only solution is x = 0. For a square matrix, this happens exactly when A is invertible.
What is the relationship between the null space and rank?
The rank-nullity theorem states that rank(A) + nullity(A) = n, where n is the number of columns. Rank is the number of pivot columns; nullity is the number of free variables (dimension of the null space). A full-rank square matrix has nullity 0, confirming only the trivial solution exists.
Can the null space contain only the zero vector?
Yes. When A has full column rank (rank = n), the null space contains only x = 0. This is called a trivial null space. In this case, the columns of A are linearly independent, and the linear map x → Ax is injective (one-to-one).
Is there a shortcut for a square matrix without row reducing it fully?
Yes, if you already know the determinant. A square matrix A has only the trivial solution to Ax = 0 exactly when det(A) is not zero, which is the same condition as A being invertible. If det(A) = 0, nontrivial solutions are guaranteed without needing to identify them by hand first.
Why does the null space matter outside of solving Ax = 0 directly?
It shows up anywhere you need to describe "all the ways a linear map can send something to zero," which includes testing whether a set of vectors is linearly independent (independent exactly when the only combination summing to zero uses all-zero coefficients), and in describing the general solution to Ax = b as a particular solution plus the null space.