# Row and column spaces

In linear algebra, the column space (also called the range or image) of a matrix A is the span (set of all possible linear combinations) of its column vectors. The column space of a matrix is the image or range of the corresponding matrix transformation.
Let $F$ be a field. The column space of an m × n matrix with components from $F$ is a linear subspace of the m-space $F^{m}$. The dimension of the column space is called the rank of the matrix and is at most min(m, n). A definition for matrices over a ring $R$ is also possible.
The row space is defined similarly.
The row space and the column space of a matrix A are sometimes denoted as C(A$^T$) and C(A) respectively.
This article considers matrices of real numbers. The row and column spaces are subspaces of the real spaces $\mathbb {R} ^{n}$ and $\mathbb {R} ^{m}$ respectively.

## Overview

Let A be an m-by-n matrix. Then
* rank(A) = dim(rowsp(A)) = dim(colsp(A)),
* rank(A) = number of pivots in any echelon form of A,
* rank(A) = the maximum number of linearly independent rows or columns of A.
If the matrix represents a linear transformation, the column space of the matrix equals the image of this linear transformation.
The column space of a matrix A is the set of all linear combinations of the columns in A. If A = [a$_1$ ⋯ a$_n$], then colsp(A) = span({a$_1$, ..., a$_n$}).
Given a matrix A, the action of the matrix A on a vector x returns a linear combination of the columns of A with the coordinates of x as coefficients; that is, the columns of the matrix generate the column space.

### Example

Given a matrix J:
    $J={\begin{bmatrix}2&4&1&3&2\\-1&-2&1&0&5\\1&6&2&2&2\\3&6&2&5&1\end{bmatrix}}$
the rows are $\mathbf {r} _{1}={\begin{bmatrix}2&4&1&3&2\end{bmatrix}}$, $\mathbf {r} _{2}={\begin{bmatrix}-1&-2&1&0&5\end{bmatrix}}$, $\mathbf {r} _{3}={\begin{bmatrix}1&6&2&2&2\end{bmatrix}}$, $\mathbf {r} _{4}={\begin{bmatrix}3&6&2&5&1\end{bmatrix}}$. Consequently, the row space of J is the subspace of $\mathbb {R} ^{5}$ spanned by { r$_1$, r$_2$, r$_3$, r$_4$ }.
Since these four row vectors are linearly independent, the row space is 4-dimensional. Moreover, in this case it can be seen that they are all orthogonal to the vector n = [6, −1, 4, −4, 0] (n is an element of the kernel of J ), so it can be deduced that the row space consists of all vectors in $\mathbb {R} ^{5}$ that are orthogonal to n.

## Column space
### Definition

Let K be a field of scalars. Let A be an m × n matrix, with column vectors v$_1$, v$_2$, ..., v$_n$. A linear combination of these vectors is any vector of the form
    $c_{1}\mathbf {v} _{1}+c_{2}\mathbf {v} _{2}+\cdots +c_{n}\mathbf {v} _{n},$
where c$_1$, c$_2$, ..., c$_n$ are scalars. The set of all possible linear combinations of v$_1$, ..., v$_n$ is called the column space of A. That is, the column space of A is the span of the vectors v$_1$, ..., v$_n$.
Any linear combination of the column vectors of a matrix A can be written as the product of A with a column vector:
    ${\begin{array}{rcl}A{\begin{bmatrix}c_{1}\\\vdots \\c_{n}\end{bmatrix}}&=&{\begin{bmatrix}a_{11}&\cdots &a_{1n}\\\vdots &\ddots &\vdots \\a_{m1}&\cdots &a_{mn}\end{bmatrix}}{\begin{bmatrix}c_{1}\\\vdots \\c_{n}\end{bmatrix}}={\begin{bmatrix}c_{1}a_{11}+\cdots +c_{n}a_{1n}\\\vdots \\c_{1}a_{m1}+\cdots +c_{n}a_{mn}\end{bmatrix}}=c_{1}{\begin{bmatrix}a_{11}\\\vdots \\a_{m1}\end{bmatrix}}+\cdots +c_{n}{\begin{bmatrix}a_{1n}\\\vdots \\a_{mn}\end{bmatrix}}\\&=&c_{1}\mathbf {v} _{1}+\cdots +c_{n}\mathbf {v} _{n}\end{array}}$
Therefore, the column space of A consists of all possible products Ax, for x ∈ K$^n$. This is the same as the image (or range) of the corresponding matrix transformation.

#### Example

If $A={\begin{bmatrix}1&0\\0&1\\2&0\end{bmatrix}}$, then the column vectors are v$_1$ = [1, 0, 2]$^T$ and v$_2$ = [0, 1, 0]$^T$. A linear combination of v$_1$ and v$_2$ is any vector of the form $c_{1}{\begin{bmatrix}1\\0\\2\end{bmatrix}}+c_{2}{\begin{bmatrix}0\\1\\0\end{bmatrix}}={\begin{bmatrix}c_{1}\\c_{2}\\2c_{1}\end{bmatrix}}$ The set of all such vectors is the column space of A. In this case, the column space is precisely the set of vectors (x, y, z) ∈ R$^3$ satisfying the equation z = 2x (using Cartesian coordinates, this set is a plane through the origin in three-dimensional space).

### Basis

The columns of A span the column space, but they may not form a basis if the column vectors are not linearly independent. Fortunately, elementary row operations do not affect the dependence relations between the column vectors. This makes it possible to use row reduction to find a basis for the column space.
For example, consider the matrix
    $A={\begin{bmatrix}1&3&1&4\\2&7&3&9\\1&5&3&1\\1&2&0&8\end{bmatrix}}.$
The columns of this matrix span the column space, but they may not be linearly independent, in which case some subset of them will form a basis. To find this basis, we reduce A to reduced row echelon form:
    ${\begin{bmatrix}1&3&1&4\\2&7&3&9\\1&5&3&1\\1&2&0&8\end{bmatrix}}\sim {\begin{bmatrix}1&3&1&4\\0&1&1&1\\0&2&2&-3\\0&-1&-1&4\end{bmatrix}}\sim {\begin{bmatrix}1&0&-2&1\\0&1&1&1\\0&0&0&-5\\0&0&0&5\end{bmatrix}}\sim {\begin{bmatrix}1&0&-2&0\\0&1&1&0\\0&0&0&1\\0&0&0&0\end{bmatrix}}.$
At this point, it is clear that the first, second, and fourth columns are linearly independent, while the third column is a linear combination of the first two. (Specifically, v$_3$ = −2v$_1$ + v$_2$.) Therefore, the first, second, and fourth columns of the original matrix are a basis for the column space:
    ${\begin{bmatrix}1\\2\\1\\1\end{bmatrix}},\;\;{\begin{bmatrix}3\\7\\5\\2\end{bmatrix}},\;\;{\begin{bmatrix}4\\9\\1\\8\end{bmatrix}}.$
Note that the independent columns of the reduced row echelon form are precisely the columns with pivots. This makes it possible to determine which columns are linearly independent by reducing only to echelon form.
The above algorithm can be used in general to find the dependence relations between any set of vectors, and to pick out a basis from any spanning set. Also finding a basis for the column space of A is equivalent to finding a basis for the row space of the transpose matrix A$^T$.
To find the basis in a practical setting (e.g., for large matrices), the singular-value decomposition is typically used.

### Dimension

The dimension of the column space is called the rank of the matrix. The rank is equal to the number of pivots in the reduced row echelon form, and is the maximum number of linearly independent columns that can be chosen from the matrix. For example, the 4 × 4 matrix in the example above has rank three.
Because the column space is the image of the corresponding matrix transformation, the rank of a matrix is the same as the dimension of the image. For example, the transformation $\mathbb {R} ^{4}\to \mathbb {R} ^{4}$ described by the matrix above maps all of $\mathbb {R} ^{4}$ to some three-dimensional subspace.
The nullity of a matrix is the dimension of the null space, and is equal to the number of columns in the reduced row echelon form that do not have pivots. The rank and nullity of a matrix A with n columns are related by the equation:
    $\operatorname {rank} (A)+\operatorname {nullity} (A)=n.\,$
This is known as the rank–nullity theorem.

### Relation to the left null space

The left null space of A is the set of all vectors x such that x$^T$A = 0$^T$. It is the same as the null space of the transpose of A. The product of the matrix A$^T$ and the vector x can be written in terms of the dot product of vectors:
    $A^{\mathsf {T}}\mathbf {x} ={\begin{bmatrix}\mathbf {v} _{1}\cdot \mathbf {x} \\\mathbf {v} _{2}\cdot \mathbf {x} \\\vdots \\\mathbf {v} _{n}\cdot \mathbf {x} \end{bmatrix}},$
because row vectors of A$^T$ are transposes of column vectors v$_k$ of A. Thus A$^T$x = 0 if and only if x is orthogonal (perpendicular) to each of the column vectors of A.
It follows that the left null space (the null space of A$^T$) is the orthogonal complement to the column space of A.
For a matrix A, the column space, row space, null space, and left null space are sometimes referred to as the four fundamental subspaces.

### For matrices over a ring

Similarly the column space (sometimes disambiguated as right column space) can be defined for matrices over a ring K as
    $\sum \limits _{k=1}^{n}\mathbf {v} _{k}c_{k}$
for any c$_1$, ..., c$_n$, with replacement of the vector m-space with "right free module", which changes the order of scalar multiplication of the vector v$_k$ to the scalar c$_k$ such that it is written in an unusual order vector–scalar.

## Row space
### Definition

Let K be a field of scalars. Let A be an m × n matrix, with row vectors r$_1$, r$_2$, ..., r$_m$. A linear combination of these vectors is any vector of the form
    $c_{1}\mathbf {r} _{1}+c_{2}\mathbf {r} _{2}+\cdots +c_{m}\mathbf {r} _{m},$
where c$_1$, c$_2$, ..., c$_m$ are scalars. The set of all possible linear combinations of r$_1$, ..., r$_m$ is called the row space of A. That is, the row space of A is the span of the vectors r$_1$, ..., r$_m$.
For example, if
    $A={\begin{bmatrix}1&0&2\\0&1&0\end{bmatrix}},$
then the row vectors are r$_1$ = [1, 0, 2] and r$_2$ = [0, 1, 0]. A linear combination of r$_1$ and r$_2$ is any vector of the form
    $c_{1}{\begin{bmatrix}1&0&2\end{bmatrix}}+c_{2}{\begin{bmatrix}0&1&0\end{bmatrix}}={\begin{bmatrix}c_{1}&c_{2}&2c_{1}\end{bmatrix}}.$
The set of all such vectors is the row space of A. In this case, the row space is precisely the set of vectors (x, y, z) ∈ K$^3$ satisfying the equation z = 2x (using Cartesian coordinates, this set is a plane through the origin in three-dimensional space).
For a matrix that represents a homogeneous system of linear equations, the row space consists of all linear equations that follow from those in the system.
The column space of A is equal to the row space of A$^T$.

### Basis

The row space is not affected by elementary row operations. This makes it possible to use row reduction to find a basis for the row space.
For example, consider the matrix
    $A={\begin{bmatrix}1&3&2\\2&7&4\\1&5&2\end{bmatrix}}.$
The rows of this matrix span the row space, but they may not be linearly independent, in which case the rows will not be a basis. To find a basis, we reduce A to row echelon form:
r$_1$, r$_2$, r$_3$ represents the rows.
    ${\begin{aligned}{\begin{bmatrix}1&3&2\\2&7&4\\1&5&2\end{bmatrix}}&\xrightarrow {\mathbf {r} _{2}-2\mathbf {r} _{1}\to \mathbf {r} _{2}} {\begin{bmatrix}1&3&2\\0&1&0\\1&5&2\end{bmatrix}}\xrightarrow {\mathbf {r} _{3}-\,\,\mathbf {r} _{1}\to \mathbf {r} _{3}} {\begin{bmatrix}1&3&2\\0&1&0\\0&2&0\end{bmatrix}}\\&\xrightarrow {\mathbf {r} _{3}-2\mathbf {r} _{2}\to \mathbf {r} _{3}} {\begin{bmatrix}1&3&2\\0&1&0\\0&0&0\end{bmatrix}}\xrightarrow {\mathbf {r} _{1}-3\mathbf {r} _{2}\to \mathbf {r} _{1}} {\begin{bmatrix}1&0&2\\0&1&0\\0&0&0\end{bmatrix}}.\end{aligned}}$
Once the matrix is in echelon form, the nonzero rows are a basis for the row space. In this case, the basis is { [1, 3, 2], [2, 7, 4] }. Another possible basis { [1, 0, 2], [0, 1, 0] } comes from a further reduction.
This algorithm can be used in general to find a basis for the span of a set of vectors. If the matrix is further simplified to reduced row echelon form, then the resulting basis is uniquely determined by the row space.
It is sometimes convenient to find a basis for the row space from among the rows of the original matrix instead (for example, this result is useful in giving an elementary proof that the determinantal rank of a matrix is equal to its rank). Since row operations can affect linear dependence relations of the row vectors, such a basis is instead found indirectly using the fact that the column space of A$^T$ is equal to the row space of A. Using the example matrix A above, find A$^T$ and reduce it to row echelon form:
    $A^{\mathrm {T} }={\begin{bmatrix}1&2&1\\3&7&5\\2&4&2\end{bmatrix}}\sim {\begin{bmatrix}1&2&1\\0&1&2\\0&0&0\end{bmatrix}}.$
The pivots indicate that the first two columns of A$^T$ form a basis of the column space of A$^T$. Therefore, the first two rows of A (before any row reductions) also form a basis of the row space of A.

### Dimension

The dimension of the row space is called the rank of the matrix. This is the same as the maximum number of linearly independent rows that can be chosen from the matrix, or equivalently the number of pivots. For example, the 3 × 3 matrix in the example above has rank two.
The rank of a matrix is also equal to the dimension of the column space. The dimension of the null space is called the nullity of the matrix, and is related to the rank by the following equation:
    $\operatorname {rank} (A)+\operatorname {nullity} (A)=n,$
where n is the number of columns of the matrix A. The equation above is known as the rank–nullity theorem.

### Relation to the null space

The null space of matrix A is the set of all vectors x for which Ax = 0. The product of the matrix A and the vector x can be written in terms of the dot product of vectors:
    $A\mathbf {x} ={\begin{bmatrix}\mathbf {r} _{1}\cdot \mathbf {x} \\\mathbf {r} _{2}\cdot \mathbf {x} \\\vdots \\\mathbf {r} _{m}\cdot \mathbf {x} \end{bmatrix}},$
where r$_1$, ..., r$_m$ are the row vectors of A. Thus Ax = 0 if and only if x is orthogonal (perpendicular) to each of the row vectors of A.
It follows that the null space of A is the orthogonal complement to the row space. For example, if the row space is a plane through the origin in three dimensions, then the null space will be the perpendicular line through the origin. This provides a proof of the rank–nullity theorem (see dimension above).
The row space and null space are two of the four fundamental subspaces associated with a matrix A (the other two being the column space and left null space).

### Relation to coimage

If V and W are vector spaces, then the kernel of a linear transformation T: V → W is the set of vectors v ∈ V for which T(v) = 0. The kernel of a linear transformation is analogous to the null space of a matrix.
If V is an inner product space, then the orthogonal complement to the kernel can be thought of as a generalization of the row space. This is sometimes called the coimage of T. The transformation T is one-to-one on its coimage, and the coimage maps isomorphically onto the image of T.
When V is not an inner product space, the coimage of T can be defined as the quotient space V / ker(T).