Matrix rank Created 2026-09-24 Updated 2026-10-18
The matrix rank of an matrix over a field is the dimension of its column space, equivalently the dimension of its row space. It counts linearly independent column directions, with . Counting nonzero matrix entries gives a different quantity: an all-ones matrix can have arbitrarily many nonzero matrix entries and still have matrix rank one.[ref]
Consider the following matrix over the real numbers, with columns written as vectors:
The vectors are linearly independent: requires both and , so . The third column adds no new direction to their linear span, hence despite all nine matrix entries being nonzero. The second row likewise repeats twice the first row.
The column space is a plane through the origin:
Every output has second coordinate twice its first coordinate. Conversely, any vector equals , so this condition describes the entire plane, not just part of it. For example, is attainable, whereas lies outside the plane.
Figure 1.
Three column vectors span a two-dimensional plane: , is attainable, and is outside the column space
. Details.
Elementary row operations expose the same count algebraically. Apply and , interchange the last two rows, multiply the second row by , and subtract twice the second row from the first. The resulting reduced row echelon form is
There are two pivot columns, so the matrix rank is two. The corresponding original columns form a basis of the original column space. The pivot columns of itself span the different plane with third coordinate zero: row operations preserve column linear relations, but generally move the column space.[ref]
Solving the homogeneous linear system gives and . Taking the free variable gives
The kernel is the input direction that trades one unit of each of the first two columns for one unit of the third. This trade leaves the output unchanged. The rank-nullity theorem expresses the general balance: for an matrix of matrix rank , the nullity is . The column space describes reachable outputs; the kernel describes invisible changes to inputs.[ref]
For the attainable output , one solution is . Every solution lies in the affine solution space of a linear equation
Indeed, and . Conversely, subtracting from any solution gives a vector in the kernel, so this describes every solution. For , the same row operations on the augmented matrix expose : the second requirement demands where twice the first requires .
Figure 2.
Two pivot columns, one kernel direction, and the same row operations distinguishing attainable from impossible
. Details.
In general, a linear system is solvable exactly when appending leaves the matrix rank unchanged:
Appending a vector outside the column space adds an independent direction. When a solution exists, every solution is , because . Thus one count predicts both how many output directions are reachable and, through the rank-nullity theorem, how many independent input directions remain free.[ref]
For row reduction with a parameterized right-hand side at , the nonzero reduced equations are
Column 3 has no pivot element, so is a free variable in a linear system. Taking gives every solution:
There is no further restriction on . Independent substitution into the original linear system gives
Conversely, the two reduced equations force exactly these coordinate formulas, so no solutions have been omitted. The same computation with zero right-hand side gives the kernel . Its dimension is one. The rank-nullity theorem appears here as : two pivot columns and one freely chosen coordinate account for the three unknowns.[ref]
In general a consistent linear system has solution set . Subtracting from proves this description in both directions. The particular solution places the affine subspace, and the kernel supplies its directions.[ref] Over the real numbers this example is an entire line; over the rational numbers the same formula uses rational . A free variable in a linear system over a finite field instead has only finitely many choices.
The pivot columns identify a different object: the original column space. Here they select
which form its basis, while . The corresponding reduced columns are and ; their linear span is a different plane. For example, every original output satisfies , but does not. Since is an invertible matrix, column linear relations survive even though the output vectors move. This is why choosing original columns at the reduced pivot positions works.
Consider the linear map represented by the rectangular matrix
To compute its kernel, solve the homogeneous linear system , . Taking gives , , so
Thus represents a null direction of a linear map: decreasing the first input by two, increasing the second by one, and decreasing the third by one changes neither output. Solving the homogeneous linear system is the concrete computation behind a kernel; the column space instead decides which outputs are attainable.[ref]
Now prescribe the nonzero output . The linear system becomes , . Again take :
Direct substitution gives , and . Conversely, the two linear equations force exactly this form, so no solutions have been omitted. This fiber is an affine subspace of dimension one in the three-dimensional input vector space. It is parallel to the kernel, but does not pass through the origin. For instance, and both give , while their difference gives zero. Adding and gives output , which is another way to see that this nonzero-output fiber is not a vector subspace.
Figure 1.
Three-dimensional inputs along one null direction give the same two-dimensional output
. The blue straight line is the kernel in the actual three-dimensional input vector space. The orange solution straight line is its translation by . Three marked inputs map to the single orange output in the two-dimensional output vector space; the blue kernel maps to zero. Finite plotted segments represent infinite straight lines. Details.
The first and third columns of are and , a basis of the output vector space. Hence has matrix rank two and reaches every output. The rank-nullity theorem predicts nullity before we solve any linear system. It provides a useful completeness check: one nonzero kernel vector already forms a basis here, so a second independent null direction of a linear map would signal a calculation error. In general, matrix rank for an matrix leaves independent kernel directions, rather than .[ref]