Two Different Meanings of Full Rank
A rectangular matrix can have more columns than rows, or more rows than columns. In either case, its rank measures how many independent directions its columns produce. But “as many as possible” can refer to two different targets: all columns can be independent, or the columns can produce every vector in the codomain. These are called full column rank and full row rank, respectively. For rectangular matrices, one condition need not imply the other.
Let \(\mathbf{A}\in\mathbb{R}^{m\times n}\). It defines a linear map \(T_{\mathbf{A}}:\mathbb{R}^n\to\mathbb{R}^m\) by \(T_{\mathbf{A}}(\mathbf{x})=\mathbf{A}\mathbf{x}\). Its columns are \(\mathbf{a}_1,\dots,\mathbf{a}_n\), and its column space is \(\operatorname{Col}\mathbf{A}=\operatorname{span}\{\mathbf{a}_1,\dots,\mathbf{a}_n\}\), a subspace of \(\mathbb{R}^m\). Its null space is \(\operatorname{Nul}\mathbf{A}=\{\mathbf{x}\in\mathbb{R}^n:\mathbf{A}\mathbf{x}=\mathbf{0}\}\). The rank \(\operatorname{rank}\mathbf{A}\) is the dimension of the column space; it also equals the number of pivots in a row-echelon form.
Two standard facts from the earlier material on rank will be used. The Matrix Rank-Nullity Theorem says that for \(\mathbf{A}\in\mathbb{R}^{m\times n}\), \(\operatorname{rank}\mathbf{A}+\operatorname{nullity}\mathbf{A}=n\), where \(\operatorname{nullity}\mathbf{A}=\dim(\operatorname{Nul}\mathbf{A})\). Also, \(\operatorname{rank}\mathbf{A}=\dim(\operatorname{Col}\mathbf{A})\). These statements concern finite-dimensional spaces, as they do here.
Full Column Rank and the Null Space
Proof. By rank-nullity, \(\operatorname{rank}\mathbf{A}+\operatorname{nullity}\mathbf{A}=n\). Therefore \(\operatorname{rank}\mathbf{A}=n\) exactly when \(\operatorname{nullity}\mathbf{A}=0\). A vector subspace has dimension zero exactly when it contains only the zero vector, so these are equivalent to \(\operatorname{Nul}\mathbf{A}=\{\mathbf{0}\}\). To compare this condition with one-to-one, suppose first that the null space is trivial and \(T_{\mathbf{A}}(\mathbf{x})=T_{\mathbf{A}}(\mathbf{y})\). Then \(\mathbf{A}(\mathbf{x}-\mathbf{y})=\mathbf{0}\), so \(\mathbf{x}-\mathbf{y}=\mathbf{0}\), hence \(\mathbf{x}=\mathbf{y}\). Conversely, if \(T_{\mathbf{A}}\) is one-to-one and \(\mathbf{A}\mathbf{x}=\mathbf{0}\), then \(T_{\mathbf{A}}(\mathbf{x})=T_{\mathbf{A}}(\mathbf{0})\), so \(\mathbf{x}=\mathbf{0}\). Thus all three conditions are equivalent. \(\square\)
In the homogeneous system \(\mathbf{A}\mathbf{x}=\mathbf{0}\), each variable corresponds to a column. The pivot test therefore gives a direct computational version: \(\mathbf{A}\) has full column rank exactly when every column is a pivot column. If a column has no pivot, its variable is free, and assigning a nonzero value to a free variable produces a nonzero null-space vector. If every column has a pivot, there are no free variables and the homogeneous system has only the zero solution.
Worked Example: Full Column Rank Without Full Row Rank
Consider the \(3\times2\) matrix \(\mathbf{A}\). Determine whether it has full column rank or full row rank, and interpret its null space and column space.
Subtract \(R_1\) from \(R_3\), then subtract \(R_2\) from the new \(R_3\):
There are two pivots, one in each of the two columns, so \(\operatorname{rank}\mathbf{A}=2=n\): the matrix has full column rank. To check the null-space condition directly, write \(\mathbf{x}=(x_1,x_2)^{\top}\). The equation \(\mathbf{A}\mathbf{x}=\mathbf{0}\) gives \(x_1=0\), \(x_2=0\), and \(x_1+x_2=0\), so its only solution is \(\mathbf{x}=\mathbf{0}\).
The matrix does not have full row rank, because \(2<3\). Its image consists of vectors of the form \((x_1,x_2,x_1+x_2)^{\top}\), so, for example, \((0,0,1)^{\top}\) is not in the column space. Check: the columns \((1,0,1)^{\top}\) and \((0,1,1)^{\top}\) are independent: \(c_1(1,0,1)^{\top}+c_2(0,1,1)^{\top}=\mathbf{0}\) forces \(c_1=0\) and \(c_2=0\). They do not span all of \(\mathbb{R}^3\), since every combination has third coordinate equal to the sum of its first two.
Full Row Rank and the Column Space
Proof. By definition, \(T_{\mathbf{A}}(\mathbf{x})=\mathbf{A}\mathbf{x}\), and the vectors \(\mathbf{A}\mathbf{x}\) as \(\mathbf{x}\) ranges over \(\mathbb{R}^n\) are precisely the linear combinations of the columns of \(\mathbf{A}\). Thus the image of \(T_{\mathbf{A}}\) equals \(\operatorname{Col}\mathbf{A}\). The map is onto exactly when its image is \(\mathbb{R}^m\), proving the equivalence of (2) and (3). Full row rank means \(\operatorname{rank}\mathbf{A}=m\), and rank is the dimension of the column space. Since \(\operatorname{Col}\mathbf{A}\) is a subspace of \(\mathbb{R}^m\), it equals \(\mathbb{R}^m\) if it has dimension \(m\): if it were a proper subspace, a vector outside it could be added to a basis of that subspace to produce more than \(m\) independent vectors in \(\mathbb{R}^m\), which is impossible. Conversely, if \(\operatorname{Col}\mathbf{A}=\mathbb{R}^m\), its dimension is \(m\), so \(\operatorname{rank}\mathbf{A}=m\). This proves (1)–(3) equivalent. \(\square\)
For a full-row-rank matrix, every vector in the codomain can be reached as \(\mathbf{A}\mathbf{x}\); equivalently, every system \(\mathbf{A}\mathbf{x}=\mathbf{b}\) with \(\mathbf{b}\in\mathbb{R}^m\) is consistent. Row reduction detects this by counting pivots: full row rank means there is a pivot in every row of an echelon form, or equivalently that the rank is \(m\). It does not require a pivot in every column.
Worked Example: Full Row Rank Without Full Column Rank
Consider this \(2\times3\) matrix. Determine its rank, whether its associated map is onto or one-to-one, and find a nonzero vector in its null space.
This matrix is already in reduced row echelon form. It has two pivots, one in each row, so \(\operatorname{rank}\mathbf{B}=2=m\). Theorem 2 gives \(\operatorname{Col}\mathbf{B}=\mathbb{R}^2\), and \(T_{\mathbf{B}}\) is onto. In fact, its first two columns are \((1,0)^{\top}\) and \((0,1)^{\top}\), which already span \(\mathbb{R}^2\).
There is no pivot in column 3, so the matrix does not have full column rank. Solve the homogeneous system: its equations are \(x_1+2x_3=0\) and \(x_2-x_3=0\). Setting the free variable \(x_3=t\) gives \(x_1=-2t\), \(x_2=t\), and hence \(\mathbf{x}=t(-2,1,1)^{\top}\). Check:
Thus the null space is nontrivial and the map is not one-to-one, even though it is onto.
Reading Pivot Counts Correctly
Every \(m\times n\) matrix has rank at most \(\min(m,n)\). If \(m<n\), full row rank is the largest possible rank, but full column rank is impossible because there are more columns than rows. If \(m>n\), full column rank is the largest possible rank, but full row rank is impossible. If \(m=n\), full column rank and full row rank are the same rank condition. The implications in this last case connect to broader equivalences for square matrices; those are treated separately later.
Worked Example: Neither Full Column Rank Nor Full Row Rank
For the \(3\times2\) matrix \(\mathbf{C}\), find its rank and decide which full-rank conditions it satisfies.
Subtract \(2R_1\) from \(R_2\):
There is one pivot, so \(\operatorname{rank}\mathbf{C}=1\). This is less than the number of columns, \(2\), and less than the number of rows, \(3\); therefore \(\mathbf{C}\) has neither full column rank nor full row rank. Solving \(\mathbf{C}\mathbf{x}=\mathbf{0}\) gives \(x_1+2x_2=0\), so \(\mathbf{x}=t(-2,1)^{\top}\). Check: \(\mathbf{C}(-2,1)^{\top}=(-2+2,-4+4,0)^{\top}=\mathbf{0}\). Its columns are \((1,2,0)^{\top}\) and \(2(1,2,0)^{\top}\), so they span only a line, not \(\mathbb{R}^3\).
Common Pitfall: Treating Both Conditions as the Same
A common error is to decide that a matrix with a nonpivot column cannot have “full rank.” That conclusion confuses full column rank with full row rank. Matrix \(\mathbf{B}\) above has three columns but only two pivots, so it is not full column rank. It is nevertheless full row rank because its two rows both have pivots, and its columns span the two-dimensional codomain \(\mathbb{R}^2\). The nonzero null-space vector \((-2,1,1)^{\top}\) confirms the failure of full column rank; the first two columns, which are the standard basis vectors of \(\mathbb{R}^2\), confirm full row rank.
Another caution is that row operations preserve rank and the solutions of the corresponding homogeneous system, but they can change the column space as a set of vectors in the codomain. For example, row-reducing \(\mathbf{C}\) changes its first column from \((1,2,0)^{\top}\) to \((1,0,0)^{\top}\). The reduced matrix is useful for counting pivots and finding the null space, but its columns should not be substituted for the original columns when describing \(\operatorname{Col}\mathbf{C}\). To establish full row rank, count pivots or use the original columns’ span; do not claim that row operations leave the column space unchanged.
| Condition | Rank requirement | Equivalent interpretation |
|---|---|---|
| Full column rank | \(\operatorname{rank}\mathbf{A}=n\) | \(\operatorname{Nul}\mathbf{A}=\{\mathbf{0}\}\); the map is one-to-one |
| Full row rank | \(\operatorname{rank}\mathbf{A}=m\) | \(\operatorname{Col}\mathbf{A}=\mathbb{R}^m\); the map is onto |
| Neither condition | \(\operatorname{rank}\mathbf{A}<n\) and \(\operatorname{rank}\mathbf{A}<m\) | The map is not one-to-one and its image is a proper subspace of the codomain |
Check Your Understanding
For each question, distinguish the number of rows from the number of columns before interpreting the rank.
- A \(4\times2\) matrix has rank \(2\). Is it full column rank, full row rank, both, or neither? What does rank-nullity say about its null space?
- A \(2\times4\) matrix has rank \(2\). What does this tell you about its column space and whether its associated map is onto?
- For \(\mathbf{D}=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}\), find a nonzero vector in \(\operatorname{Nul}\mathbf{D}\). Is \(\mathbf{D}\) full row rank?
- Explain why full row rank means every system \(\mathbf{A}\mathbf{x}=\mathbf{b}\), with \(\mathbf{b}\) in the codomain, is consistent.
- A \(3\times3\) matrix has full column rank. Which other full-rank condition follows from the definitions?