Evanalysis
4.1Estimated reading time: 27 min

4.1 Homogeneous systems and null space

Use homogeneous systems and null spaces to describe all solutions systematically, not just one solution at a time.

Course contents

By the time you can row-reduce a system, the next question is no longer "Can I solve this example?" but rather "What is the structure of every solution?" Homogeneous systems are the cleanest place to ask that question, and the null space is the language that answers it.

Why homogeneous systems are special

A homogeneous linear system is a system whose constant terms are all 00. In matrix form, it looks like

Ax=0.Ax = 0.

This situation is special for one immediate reason: the zero vector always solves it.

Definition

Homogeneous system

A homogeneous linear system is a linear system of the form

Ax=0.Ax = 0.

Its trivial solution is the zero vector x=0x = 0.

The real question is whether there are also nontrivial solutions.

The null space collects all homogeneous solutions

Definition

Null space

For a real m×nm\times n matrix AA, the null space of AA is

N(A)={x∈Rn:Ax=0m}.N(A) = \{x\in\mathbb R^n : Ax = 0_m\}.

So N(A)N(A) is exactly the solution set of the homogeneous system Ax=0Ax = 0.

This definition turns a list of solutions into a mathematical object. Instead of saying "here are some vectors that work," you can describe the whole set at once.

Row reduction tells you the shape of the null space

To find N(A)N(A), you solve Ax=0Ax = 0 by reducing the augmented system [A∣0][A \mid 0]. The pivots tell you which variables are determined; the free variables tell you how many directions of freedom remain.

Worked example

Solve a homogeneous system and describe the null space

Let

A=[12−124−2].A = \begin{bmatrix} 1 & 2 & -1 \\ 2 & 4 & -2 \end{bmatrix}.

To solve Ax=0Ax = 0, row-reduce:

[12−1024−20]∼[12−100000].\left[ \begin{array}{ccc|c} 1 & 2 & -1 & 0 \\ 2 & 4 & -2 & 0 \end{array} \right] \sim \left[ \begin{array}{ccc|c} 1 & 2 & -1 & 0 \\ 0 & 0 & 0 & 0 \end{array} \right].

So the equation is

x1+2x2−x3=0.x_1 + 2x_2 - x_3 = 0.

Take x2=sx_2 = s and x3=tx_3 = t as free variables. Then

x1=−2s+t.x_1 = -2s + t.

Therefore

x=[−2s+tst]=s[−210]+t[101].x = \begin{bmatrix} -2s + t \\ s \\ t \end{bmatrix} = s \begin{bmatrix} -2 \\ 1 \\ 0 \end{bmatrix} + t \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix}.

So

N(A)=Span⁡{[−210],[101]}.N(A) = \operatorname{Span} \left\{ \begin{bmatrix} -2 \\ 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix} \right\}.

This example shows why null-space descriptions are powerful. They tell you not only whether solutions exist, but how every solution is built.

Homogeneous systems and null space

See how a homogeneous system produces null-space directions and how one particular solution shifts those directions to describe every solution of Ax=b.

  1. Trivial solution

    A homogeneous system is always consistent because x=0 gives A0=0. The real question is whether there are nonzero solutions too.

  2. Zero column stays zero

    When you row-reduce [A|0], the augmented zero column remains zero, so the coefficient matrix RREF determines the homogeneous solution structure.

  3. Free variables become directions

    Pivot variables are determined by the free variables. Setting one free variable at a time produces the null-space direction vectors.

  4. Null space

    N(A)={x:Ax=0} is not just a sample list. It is the entire homogeneous solution set, usually written as all linear combinations of its directions.

  5. Translate by one solution

    If p solves Ax=b, then every vector p+q with q in N(A) also solves Ax=b, and every solution arises this way.

  6. Freedom and uniqueness

    If N(A)={0}, a consistent system has only one solution. If N(A) has a nonzero direction, adding multiples of it gives infinitely many solutions.

The homogeneous system Ax=0 tells you the directions left free by the equations. If Ax=b is consistent, one particular solution places those directions at the correct right-hand side, so the full solution set is p+N(A).

Homogeneous solutions control nonhomogeneous ones

The same idea explains the structure of a system Ax=bAx = b when it is consistent.

Theorem

Every solution is a particular solution plus a null-space vector

Suppose xpx_p is one particular solution of Ax=bAx = b.

Then a vector xx solves Ax=bAx = b if and only if

x=xp+vx = x_p + v

for some v∈N(A)v \in N(A).

This is the key structural theorem behind free-variable formulas.

Proof

Why the full solution set has the form xp+N(A)x_p + N(A)

First suppose xx is any solution of Ax=bAx = b. Then

Ax=bandAxp=b.Ax = b \qquad \text{and} \qquad Ax_p = b.

Subtracting gives

A(x−xp)=0.A(x - x_p) = 0.

So x−xp∈N(A)x - x_p \in N(A), which means x=xp+vx = x_p + v for some v∈N(A)v \in N(A).

Conversely, if v∈N(A)v \in N(A), then Av=0Av = 0. Hence

A(xp+v)=Axp+Av=b+0=b.A(x_p + v) = Ax_p + Av = b + 0 = b.

So every vector of the form xp+vx_p + v is also a solution.

Concept lensGeometric

A fixed displacement of the null space

For a fixed particular solution xpx_p, the notation xp+N(A)x_p+N(A) means the set of all vectors xp+vx_p+v with v∈N(A)v\in N(A). Addition by xpx_p moves each point of the null space by the same displacement. It gives a one-to-one correspondence between homogeneous and nonhomogeneous solutions: its inverse subtracts xpx_p. The original proof establishes both that every displaced point works and that every solution is reached.

The chosen particular solution is not unique in general, but the displaced set is independent of that choice. If xqx_q is another solution, then h=xq−xp∈N(A)h=x_q-x_p\in N(A). For every v∈N(A)v\in N(A), xq+v=xp+(h+v)x_q+v=x_p+(h+v), and closure gives h+v∈N(A)h+v\in N(A). This proves xq+N(A)⊆xp+N(A)x_q+N(A)\subseteq x_p+N(A); replacing hh by −h-h proves the reverse inclusion. Different starting points along the solution set therefore produce the same family.

Consistency is essential: if there is no particular solution, this description cannot be started. For b≠0b\ne0, a consistent solution set contains no zero vector because A0=0≠bA0=0\ne b. It is a translate of a subspace, called an affine subspace, but is not itself a vector subspace. Adding two of its solutions gives right-hand side 2b2b, rather than bb. The homogeneous case b=0b=0 is exactly the case in which the solution set is the null space itself.

A standard problem pattern: move between one solution and all solutions

The theorem above is often used in two directions. The forward direction says that once you have one solution uu of Ax=bAx = b, you may add any homogeneous solution without leaving the solution set:

Ah=0⟹A(u+h)=Au+Ah=b+0=b.Ah = 0 \quad\Longrightarrow\quad A(u+h)=Au+Ah=b+0=b.

The reverse direction is just as important. If vv is another solution of the same system, then

A(v−u)=Av−Au=b−b=0,A(v-u)=Av-Au=b-b=0,

so v−u∈N(A)v-u \in N(A). Therefore the difference between two particular solutions is not another arbitrary particular solution; it is a homogeneous solution. This is the cleanest way to justify the formula

S(A,b)=u+N(A).S(A,b)=u+N(A).

Worked example

Use one particular solution and two null-space directions

Suppose a system Ax=bAx=b has one known solution

p=[10−1010],p= \begin{bmatrix} 1\\0\\-1\\0\\1\\0 \end{bmatrix},

and suppose the homogeneous system Ax=0Ax=0 has solution directions

q1=[2−31000],q2=[−310−221].q_1= \begin{bmatrix} 2\\-3\\1\\0\\0\\0 \end{bmatrix}, \qquad q_2= \begin{bmatrix} -3\\1\\0\\-2\\2\\1 \end{bmatrix}.

If these two directions span N(A)N(A), then every solution of Ax=bAx=b has the form

x=p+sq1+tq2,s,t∈R.x=p+s q_1+t q_2, \qquad s,t\in R.

Written out, this is

x=[10−1010]+s[2−31000]+t[−310−221].x= \begin{bmatrix} 1\\0\\-1\\0\\1\\0 \end{bmatrix} +s \begin{bmatrix} 2\\-3\\1\\0\\0\\0 \end{bmatrix} +t \begin{bmatrix} -3\\1\\0\\-2\\2\\1 \end{bmatrix}.

The role of pp is different from the role of q1q_1 and q2q_2. The vector pp places the solution set at the correct right-hand side bb; the vectors q1q_1 and q2q_2 describe directions in which we may move while keeping the same right-hand side.

There is one more useful scaling habit. If Ap=bAp=b, then

2A(32p)=3Ap=3b.2A\left({3\over 2}p\right)=3Ap=3b.

So 32p{3\over 2}p is a solution of 2Ax=3b2Ax=3b. This is not because solution sets can be rescaled freely in every situation. It works here because the coefficient matrix and the right-hand side have both been scaled, and the calculation checks the claim directly.

A nonhomogeneous example

Worked example

Describe all solutions as a translate of the null space

Suppose the system Ax=bAx = b has one particular solution

xp=[301],x_p = \begin{bmatrix} 3 \\ 0 \\ 1 \end{bmatrix},

and suppose

N(A)=Span⁡{[1−10]}.N(A) = \operatorname{Span} \left\{ \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} \right\}.

Then every solution has the form

x=[301]+t[1−10]=[3+t−t1],t∈R.x = \begin{bmatrix} 3 \\ 0 \\ 1 \end{bmatrix} + t \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} = \begin{bmatrix} 3 + t \\ -t \\ 1 \end{bmatrix}, \qquad t \in R.

The null space gives the direction of freedom; the particular solution tells you where that family of solutions sits.

Why free variables force infinitely many homogeneous solutions

The reduced system viewpoint makes one important consequence immediate.

Theorem

A free variable creates infinitely many solutions

If the homogeneous system Ax=0Ax = 0 has at least one free variable, then it has infinitely many solutions.

A free variable may be assigned any real value. Since that variable is itself a coordinate of the solution vector, changing its value changes the vector. A parameter chosen as an actual free coordinate cannot disappear from the full solution vector.

This also gives a short theorem that is worth stating explicitly: if a homogeneous system has more variables than pivot equations, then at least one free variable remains, and the system must therefore have infinitely many solutions.

Worked example

One free variable already produces a whole line of solutions

Suppose row reduction shows that

x1−3x2=0.x_1 - 3x_2 = 0.

If x2=tx_2 = t, then x1=3tx_1 = 3t, so every solution has the form

[x1x2]=t[31],t∈R.\begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = t \begin{bmatrix} 3 \\ 1 \end{bmatrix}, \qquad t \in R.

Different values of tt give different vectors, so the homogeneous system has infinitely many solutions, not just more than one.

Worked example

A trivial null space can also occur

Let

A=[1001].A = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}.

Then Ax=0Ax = 0 is simply

x1=0,x2=0.x_1 = 0, \qquad x_2 = 0.

So the only solution is the zero vector, and therefore

N(A)={0}.N(A) = \{0\}.

This is the opposite extreme from the earlier example with free variables.

The null space is a subspace

This fact is easy to overlook because we first meet the null space as a solution set. But it is more than a solution set: it is always a subspace of the domain of AA.

Theorem

The null space is closed under linear combinations

For any matrix AA, the null space N(A)N(A) is a subspace. In particular:

  • 0∈N(A)0 \in N(A),
  • if u,v∈N(A)u, v \in N(A), then u+v∈N(A)u + v \in N(A),
  • if u∈N(A)u \in N(A) and cc is a scalar, then cu∈N(A)cu \in N(A).

Proof

Why the null space is a subspace

We already know 0∈N(A)0 \in N(A) because A0=0A0 = 0.

Now take u,v∈N(A)u, v \in N(A). Then Au=0Au = 0 and Av=0Av = 0. By linearity,

A(u+v)=Au+Av=0+0=0,A(u+v) = Au + Av = 0 + 0 = 0,

so u+v∈N(A)u+v \in N(A).

Likewise, if u∈N(A)u \in N(A) and cc is a scalar, then

A(cu)=c(Au)=c⋅0=0,A(cu) = c(Au) = c \cdot 0 = 0,

so cu∈N(A)cu \in N(A).

This matters later because once you know a solution set is a subspace, you may look for a basis, count dimensions, and compare it to the pivot structure of the coefficient matrix.

Multiplying equations can discard information

Row operations preserve a homogeneous solution set because they are reversible. A general matrix multiplier need not be reversible. The precise result keeps the direction of set inclusion visible.

Theorem

Null-space transport under left multiplication

Let AA be a real m×nm\times n matrix and GG a real p×mp\times m matrix. Then

N(A)⊆N(GA).N(A)\subseteq N(GA).

If GG is square and invertible, then N(A)=N(GA)N(A)=N(GA).

Proof

Where invertibility is needed

Take any x∈N(A)x\in N(A). Then Ax=0mAx=0_m, so (GA)x=G(Ax)=G0m=0p(GA)x=G(Ax)=G0_m=0_p. Thus x∈N(GA)x\in N(GA), proving the inclusion for arbitrary compatible GG. Notice that both null spaces consist of vectors in Rn\mathbb R^n, even when the matrices have different numbers of rows.

For the reverse inclusion, suppose GG is square and invertible, so p=mp=m, and take x∈N(GA)x\in N(GA). Then GAx=0pGAx=0_p. Multiplying by G−1G^{-1} gives Ax=G−10p=0mAx=G^{-1}0_p=0_m, so x∈N(A)x\in N(A). Only this second direction needs an inverse. Together the two inclusions prove equality.

Every row of GAGA is a linear combination of rows of AA. Consequently, the new equations are consequences of the old ones: every old solution satisfies them. If the combinations lose information, new solutions may appear. This is why arbitrary row combinations cannot replace elementary row operations without checking what has been preserved.

Worked example

A multiplier that loses a constraint

Take

A=[1001],G=[10].A=\begin{bmatrix}1&0\\0&1\end{bmatrix},\qquad G=\begin{bmatrix}1&0\end{bmatrix}.

Then GA=[1 0]GA=[1\ 0]. The original equation Ax=0Ax=0 imposes both x1=0x_1=0 and x2=0x_2=0, whereas the new equation only imposes x1=0x_1=0. Therefore

N(A)={02},N(GA)={[0t]:t∈R}.N(A)=\{0_2\},\qquad N(GA)=\left\{\begin{bmatrix}0\\t\end{bmatrix}:t\in\mathbb R\right\}.

The vector (0,1)T(0,1)^T belongs to the second set and not the first, so the inclusion is strict. This verifies the lost condition directly rather than inferring it merely from the number of equations. Invertibility is a sufficient condition for equality, but not a necessary condition for each particular AA: if AA is zero, both null spaces are all of Rn\mathbb R^n, even for a noninvertible multiplier. The theorem must not be silently reversed.

Stacking equations means intersecting null spaces

There is another way to combine systems: keep all their equations together. Unlike taking selected row combinations, stacking retains each condition.

Theorem

The null space of a stacked matrix

Let AA be m×nm\times n and BB be p×np\times n, both real. For

C=[AB],C=\begin{bmatrix}A\\B\end{bmatrix},

we have N(C)=N(A)∩N(B)N(C)=N(A)\cap N(B). Here intersection means membership in both sets simultaneously. The row counts may differ; the column counts must agree.

Proof

Prove the stacked identity in both directions

First take x∈N(C)x\in N(C). By the block multiplication rule,

0m+p=Cx=[AxBx].0_{m+p}=Cx=\begin{bmatrix}Ax\\Bx\end{bmatrix}.

Equality of the top mm and bottom pp entries gives Ax=0mAx=0_m and Bx=0pBx=0_p. Thus xx belongs to each null space and hence to their intersection.

Conversely, take x∈N(A)∩N(B)x\in N(A)\cap N(B). Membership supplies both equations Ax=0mAx=0_m and Bx=0pBx=0_p. Stacking their outputs gives

Cx=[0m0p]=0m+p,Cx=\begin{bmatrix}0_m\\0_p\end{bmatrix}=0_{m+p},

so x∈N(C)x\in N(C). Every membership step has now been checked in both directions, which proves equality of the sets.

For example, stacking A=[1 0 0]A=[1\ 0\ 0] and B=[0 1 0]B=[0\ 1\ 0] imposes both x1=0x_1=0 and x2=0x_2=0, leaving exactly the vectors (0,0,t)T(0,0,t)^T. Each individual null space is larger, but their intersection keeps only their common vectors. Repeated stacking similarly represents the intersection of finitely many homogeneous solution sets. The next note uses this identity to distinguish retaining every equation from retaining only a linear combination of them.

Nullity counts how many independent directions remain

The previous discussion explains why the null space is not just a pile of solutions. It records how many genuinely independent directions of motion are still left after the pivot equations have imposed all their constraints.

Each free variable contributes one independent parameter. So the dimension of the null space is exactly the number of free variables in the reduced homogeneous system.

In rank language, this becomes

nullity⁡(A)=n−rank⁡(A),\operatorname{nullity}(A) = n - \operatorname{rank}(A),

but even before that theorem is named formally, you should already read nullity as "the number of independent null-space directions left by the system."

Worked example

Membership in the null space is a direct test

Let

A=[110011],x=[1−11],z=[100].A = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix}, \qquad x = \begin{bmatrix} 1 \\ -1 \\ 1 \end{bmatrix}, \qquad z = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}.

Then

Ax=[00],Az=[10].Ax = \begin{bmatrix} 0 \\ 0 \end{bmatrix}, \qquad Az = \begin{bmatrix} 1 \\ 0 \end{bmatrix}.

So x∈N(A)x \in N(A) but z∉N(A)z \notin N(A). This is the practical meaning of the definition: to test membership in N(A)N(A), compute AxAx and check whether the result is exactly the zero vector.

How to read a basis for the null space from RREF

In practice, the basis vectors of N(A)N(A) come directly from the free-variable description of the reduced system.

The workflow is:

  1. row-reduce AA,
  2. identify pivot and free variables,
  3. set one free variable to 11 and the others to 00,
  4. solve for the pivot variables,
  5. repeat once for each free variable.

These vectors really form a basis, not merely a candidate. Suppose there are kk free coordinates, and let vjv_j be the solution obtained by setting the jjth free coordinate to one and all other free coordinates to zero. For any x∈N(A)x\in N(A), let t1,…,tkt_1,\ldots,t_k be its free coordinates. Closure shows that t1v1+⋯+tkvkt_1v_1+\cdots+t_kv_k is a homogeneous solution. It has exactly the same free coordinates as xx, and the reduced pivot equations determine all remaining coordinates uniquely. Thus it equals xx, proving spanning.

For independence, suppose c1v1+⋯+ckvk=0c_1v_1+\cdots+c_kv_k=0. Its jjth free coordinate is precisely cjc_j, because only vjv_j has a one there. Hence every cj=0c_j=0. This proves independence without an extra reduction. The vectors therefore form a basis and their number is the nullity. If there are no free variables, the null space is {0}\{0\} and its basis is the empty list, not the list containing the zero vector. This boundary agrees with nullity zero.

There is also a geometric distinction worth keeping clear:

  • a homogeneous solution set is always a subspace, so it passes through the origin;
  • a nonhomogeneous consistent solution set is a translate of that subspace by a particular solution; when the right-hand side is nonzero, it does not pass through the origin.

That difference is exactly why N(A)N(A) is the structural core of the system, while xp+N(A)x_p + N(A) describes the full solution set of Ax=bAx = b.

Homogeneous solutions and column dependence

The null-space equation also explains when the columns of a matrix are dependent.

Let the columns of AA be a1,a2,…,ana_1, a_2, \ldots, a_n. Then

Ax=0Ax = 0

is the same as

x1a1+x2a2+⋯+xnan=0.x_1 a_1 + x_2 a_2 + \cdots + x_n a_n = 0.

So a nontrivial solution of the homogeneous system is exactly a nontrivial linear relation among the columns.

Worked example

A nontrivial null-space vector gives a dependence relation

Suppose

x=[1−21]∈N(A).x = \begin{bmatrix} 1 \\ -2 \\ 1 \end{bmatrix} \in N(A).

Then

Ax=0Ax = 0

means

1⋅a1−2⋅a2+1⋅a3=0.1 \cdot a_1 - 2 \cdot a_2 + 1 \cdot a_3 = 0.

This is a nontrivial dependence relation among the columns of AA.

What null space says about uniqueness

The structure theorem gives an immediate test.

  • If N(A)={0}N(A) = \{0\}, then a consistent system Ax=bAx = b has exactly one solution.
  • If N(A)N(A) contains a nonzero vector, then every consistent system Ax=bAx = b has infinitely many solutions, because you can add scalar multiples of that vector to a particular solution.

So null space measures the hidden freedom in the system.

Common mistakes

Common mistake

The zero vector always belongs to the null space

Students sometimes think a homogeneous system can have no solution. That is impossible, because x=0x = 0 always satisfies Ax=0Ax = 0.

Common mistake

A particular solution is not the whole solution set

Finding one vector xpx_p with Axp=bAx_p = b is only the start. You still need to add the whole null space to describe every solution.

Common mistake

Do not confuse a particular solution with a direction

If uu and vv both solve Ax=bAx=b, then v−uv-u solves Ax=0Ax=0. The vector v−uv-u is a direction inside the null space, not a new right-hand side.

Quick checks

Checkpoint

Why does Ax=0Ax = 0 always have at least one solution?

Answer in one sentence.

Solution · Answer

Because the zero vector always satisfies A0=0A0 = 0.

Checkpoint

If N(A)={0}N(A) = \{0\} and Ax=bAx = b is consistent, how many solutions does it have?

Use the theorem from this note.

Solution · Answer

Exactly one, because there is no nonzero null-space vector to add to a particular solution.

Checkpoint

If Ax=0Ax = 0 has a free variable, can the solution set contain only two vectors?

Answer from the parameter form, not from a guess.

Solution · Answer

No. A free variable can vary through infinitely many scalar values, so it produces infinitely many solution vectors.

Checkpoint

Suppose uu and vv both solve Ax=bAx=b. What homogeneous system does v−uv-u solve?

Use one line of matrix algebra.

Solution · Answer

It solves Ax=0Ax=0, because

A(v−u)=Av−Au=b−b=0.A(v-u)=Av-Au=b-b=0.

Exercise

Checkpoint

Suppose xpx_p solves Ax=bAx = b and u,v∈N(A)u, v \in N(A). Why do xp+ux_p + u and xp+vx_p + v both solve Ax=bAx = b?

Write one line using linearity.

Solution · Guided solution

Because Au=0Au = 0 and Av=0Av = 0, we have

A(xp+u)=Axp+Au=b+0=b,A(x_p + u) = Ax_p + Au = b + 0 = b,

and similarly

A(xp+v)=Axp+Av=b+0=b.A(x_p + v) = Ax_p + Av = b + 0 = b.

So adding any null-space vector to a particular solution keeps you inside the solution set.

This note builds on 2.3 Gaussian elimination and RREF and 2.4 Solution-set types. It prepares the way for 5.1 Invertible matrices and connects naturally with 6.2 Subspaces.

Practice

Work out your answer, then check it. You can revise and try again.

Loading…

Key terms in this unit