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 be a field. The column space of an m × nScript error: No such module "Check for unknown parameters". matrix with components from is a linear subspace of the m-space . The dimension of the column space is called the rank of the matrix and is at most min(m, n)Script error: No such module "Check for unknown parameters"..[1] A definition for matrices over a ring is also possible.
The row space is defined similarly.
The row space and the column space of a matrix Template:Mvar are sometimes denoted as C(AT)Script error: No such module "Check for unknown parameters". and C(A)Script error: No such module "Check for unknown parameters". respectively.[2]
This article considers matrices of real numbers. The row and column spaces are subspaces of the real spaces and respectively.[3]
Overview
Let Template:Mvar be an Template:Mvar-by-Template:Mvar matrix. Then
- rank(A) = dim(rowsp(A)) = dim(colsp(A))Script error: No such module "Check for unknown parameters".,[4]
- rank(A)Script error: No such module "Check for unknown parameters". = number of pivots in any echelon form of Template:Mvar,
- rank(A)Script error: No such module "Check for unknown parameters". = the maximum number of linearly independent rows or columns of Template:Mvar.[5]
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 Template:Mvar is the set of all linear combinations of the columns in Template:Mvar. If A = [a1 ⋯ an]Script error: No such module "Check for unknown parameters"., then colsp(A) = span(Template:Mset)Script error: No such module "Check for unknown parameters"..
Given a matrix Template:Mvar, the action of the matrix Template:Mvar on a vector xScript error: No such module "Check for unknown parameters". returns a linear combination of the columns of Template:Mvar with the coordinates of xScript error: No such module "Check for unknown parameters". as coefficients; that is, the columns of the matrix generate the column space.
Example
Given a matrix Template:Mvar:
the rows are , , , . Consequently, the row space of Template:Mvar is the subspace of spanned by Template:MsetScript error: No such module "Check for unknown parameters".. 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]Script error: No such module "Check for unknown parameters". (nScript error: No such module "Check for unknown parameters". is an element of the kernel of Template:Mvar ), so it can be deduced that the row space consists of all vectors in that are orthogonal to nScript error: No such module "Check for unknown parameters"..
Column space
Definition
Let Template:Mvar be a field of scalars. Let AScript error: No such module "Check for unknown parameters". be an m × nScript error: No such module "Check for unknown parameters". matrix, with column vectors v1, v2, ..., vnScript error: No such module "Check for unknown parameters".. A linear combination of these vectors is any vector of the form
where c1, c2, ..., cnScript error: No such module "Check for unknown parameters". are scalars. The set of all possible linear combinations of v1, ..., vnScript error: No such module "Check for unknown parameters". is called the column space of Template:Mvar. That is, the column space of Template:Mvar is the span of the vectors v1, ..., vnScript error: No such module "Check for unknown parameters"..
Any linear combination of the column vectors of a matrix Template:Mvar can be written as the product of Template:Mvar with a column vector:
Therefore, the column space of Template:Mvar consists of all possible products AxScript error: No such module "Check for unknown parameters"., for x ∈ KnScript error: No such module "Check for unknown parameters".. This is the same as the image (or range) of the corresponding matrix transformation.
Example
If , then the column vectors are v1 = [1, 0, 2]TScript error: No such module "Check for unknown parameters". and v2 = [0, 1, 0]TScript error: No such module "Check for unknown parameters".. A linear combination of v1 and v2 is any vector of the form The set of all such vectors is the column space of Template:Mvar. In this case, the column space is precisely the set of vectors (x, y, z) ∈ R3Script error: No such module "Check for unknown parameters". satisfying the equation z = 2xScript error: No such module "Check for unknown parameters". (using Cartesian coordinates, this set is a plane through the origin in three-dimensional space).
Basis
The columns of Template:Mvar 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
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 Template:Mvar to reduced row echelon form:
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, v3 = −2v1 + v2Script error: No such module "Check for unknown parameters"..) Therefore, the first, second, and fourth columns of the original matrix are a basis for the column space:
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 Template:Mvar is equivalent to finding a basis for the row space of the transpose matrix ATScript error: No such module "Check for unknown parameters"..
To find the basis in a practical setting (e.g., for large matrices), the singular-value decomposition is typically used.
Dimension
Script error: No such module "Labelled list hatnote". 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 described by the matrix above maps all of 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.[7] The rank and nullity of a matrix Template:Mvar with Template:Mvar columns are related by the equation:
This is known as the rank–nullity theorem.
Relation to the left null space
The left null space of Template:Mvar is the set of all vectors xScript error: No such module "Check for unknown parameters". such that xTA = 0TScript error: No such module "Check for unknown parameters".. It is the same as the null space of the transpose of Template:Mvar. The product of the matrix ATScript error: No such module "Check for unknown parameters". and the vector xScript error: No such module "Check for unknown parameters". can be written in terms of the dot product of vectors:
because row vectors of ATScript error: No such module "Check for unknown parameters". are transposes of column vectors vkScript error: No such module "Check for unknown parameters". of Template:Mvar. Thus ATx = 0Script error: No such module "Check for unknown parameters". if and only if xScript error: No such module "Check for unknown parameters". is orthogonal (perpendicular) to each of the column vectors of Template:Mvar.
It follows that the left null space (the null space of ATScript error: No such module "Check for unknown parameters".) is the orthogonal complement to the column space of Template:Mvar.
For a matrix Template:Mvar, 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 Template:Mvar as
for any c1, ..., cnScript error: No such module "Check for unknown parameters"., with replacement of the vector Template:Mvar-space with "right free module", which changes the order of scalar multiplication of the vector vkScript error: No such module "Check for unknown parameters". to the scalar ckScript error: No such module "Check for unknown parameters". such that it is written in an unusual order vector–scalar.[8]
Row space
Definition
Let Template:Mvar be a field of scalars. Let Template:Mvar be an m × nScript error: No such module "Check for unknown parameters". matrix, with row vectors r1, r2, ..., rmScript error: No such module "Check for unknown parameters".. A linear combination of these vectors is any vector of the form
where c1, c2, ..., cmScript error: No such module "Check for unknown parameters". are scalars. The set of all possible linear combinations of r1, ..., rmScript error: No such module "Check for unknown parameters". is called the row space of Template:Mvar. That is, the row space of Template:Mvar is the span of the vectors r1, ..., rmScript error: No such module "Check for unknown parameters"..
For example, if
then the row vectors are r1 = [1, 0, 2]Script error: No such module "Check for unknown parameters". and r2 = [0, 1, 0]Script error: No such module "Check for unknown parameters".. A linear combination of r1Script error: No such module "Check for unknown parameters". and r2Script error: No such module "Check for unknown parameters". is any vector of the form
The set of all such vectors is the row space of Template:Mvar. In this case, the row space is precisely the set of vectors (x, y, z) ∈ K3Script error: No such module "Check for unknown parameters". satisfying the equation z = 2xScript error: No such module "Check for unknown parameters". (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 Template:Mvar is equal to the row space of ATScript error: No such module "Check for unknown parameters"..
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
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 Template:Mvar to row echelon form:
r1Script error: No such module "Check for unknown parameters"., r2Script error: No such module "Check for unknown parameters"., r3Script error: No such module "Check for unknown parameters". represents the rows.
Once the matrix is in echelon form, the nonzero rows are a basis for the row space. In this case, the basis is Template:MsetScript error: No such module "Check for unknown parameters".. Another possible basis Template:MsetScript error: No such module "Check for unknown parameters". comes from a further reduction.[9]
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 ATScript error: No such module "Check for unknown parameters". is equal to the row space of Template:Mvar. Using the example matrix Template:Mvar above, find ATScript error: No such module "Check for unknown parameters". and reduce it to row echelon form:
The pivots indicate that the first two columns of ATScript error: No such module "Check for unknown parameters". form a basis of the column space of ATScript error: No such module "Check for unknown parameters".. Therefore, the first two rows of Template:Mvar (before any row reductions) also form a basis of the row space of Template:Mvar.
Dimension
Script error: No such module "Labelled list hatnote". 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.[9]
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:
where Template:Mvar is the number of columns of the matrix Template:Mvar. The equation above is known as the rank–nullity theorem.
Relation to the null space
The null space of matrix Template:Mvar is the set of all vectors xScript error: No such module "Check for unknown parameters". for which Ax = 0Script error: No such module "Check for unknown parameters".. The product of the matrix Template:Mvar and the vector xScript error: No such module "Check for unknown parameters". can be written in terms of the dot product of vectors:
where r1, ..., rmScript error: No such module "Check for unknown parameters". are the row vectors of Template:Mvar. Thus Ax = 0Script error: No such module "Check for unknown parameters". if and only if xScript error: No such module "Check for unknown parameters". is orthogonal (perpendicular) to each of the row vectors of Template:Mvar.
It follows that the null space of Template:Mvar 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 Template:Mvar (the other two being the column space and left null space).
Relation to coimage
If Template:Mvar and Template:Mvar are vector spaces, then the kernel of a linear transformation T: V → WScript error: No such module "Check for unknown parameters". is the set of vectors v ∈ VScript error: No such module "Check for unknown parameters". for which T(v) = 0Script error: No such module "Check for unknown parameters".. The kernel of a linear transformation is analogous to the null space of a matrix.
If Template:Mvar 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 Template:Mvar. The transformation Template:Mvar is one-to-one on its coimage, and the coimage maps isomorphically onto the image of Template:Mvar.
When Template:Mvar is not an inner product space, the coimage of Template:Mvar can be defined as the quotient space V / ker(T)Script error: No such module "Check for unknown parameters"..
See also
References & Notes
<templatestyles src="Reflist/styles.css" />
- ↑ Linear algebra, as discussed in this article, is a very well established mathematical discipline for which there are many sources. Almost all of the material in this article can be found in Lay 2005, Meyer 2001, and Strang 2005.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ This computation uses the Gauss–Jordan row-reduction algorithm. Each of the shown steps involves multiple elementary row operations.
- ↑ Columns without pivots represent free variables in the associated homogeneous system of linear equations.
- ↑ Important only if Template:Mvar is not commutative. Actually, this form is merely a product AcScript error: No such module "Check for unknown parameters". of the matrix Template:Mvar to the column vector cScript error: No such module "Check for unknown parameters". from KnScript error: No such module "Check for unknown parameters". where the order of factors is preserved, unlike the formula above.
- ↑ a b The example is valid over the real numbers, the rational numbers, and other number fields. It is not necessarily correct over fields and rings with non-zero characteristic.
Script error: No such module "Check for unknown parameters".
Script error: No such module "Labelled list hatnote".
Further reading
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
External links
- Script error: No such module "Template wrapper".
- Script error: No such module "Template wrapper".
- <templatestyles src="smallcaps/styles.css"/>Gilbert Strang, MIT Linear Algebra Lecture on the Four Fundamental Subspaces at Google Video, from MIT OpenCourseWare
- Khan Academy video tutorial
- Lecture on column space and nullspace by Gilbert Strang of MIT
- Row Space and Column Space
Script error: No such module "Navbox".