Every m-by-n matrix A ∈ 𝔽m×n can be considered as a linear operator 𝔽n×1 ⇾ 𝔽m×1, acting from left on column vectors: 𝔽n×1 ∋ x ⇾ A x ∈ 𝔽m×1. Since the vector space of column vectors is isomorphic to the Cartesian product, 𝔽n×1 ≌ 𝔽n, this matrix generates a linear transformation A : 𝔽n ⇾ 𝔽m. The reverse statement is also true: to every linear transformation T : 𝔽n ⇾ 𝔽m corresponds a matrix T = 〚T〛∈ 𝔽m×n. Therefore there is a bijection between the vector space of linear transformations ℒ(𝔽n, 𝔽m) and the vector space of matrices 𝔽n×n.
Correspondingly, every m × n matrix generates a dual transformation φ : (𝔽m)' ⇾ (𝔽n)'. So every numerical vector y ∈ 𝔽n generates a covector (also known as bra-vector in Dirac's notation) y* = 〈 y | that acts on any vector x ∈ 𝔽n as a linear functional:
In case of complex vector spaces, the linear combination rule (R) defines a linear functional. In order to introduce a metric, the inner product is used instead of dot product (R), which involves additional operation of complex conjugate:
where overline means complex conjugate: \( \displaystyle \overline{a + {\bf j}\,b} = \left( a + {\bf j}\,b \right)^{\ast} = a - {\bf j}\,b . \) Note that complex conjugate operation is also denoted by asterisk in physics and engineering. Here j is the imaginary unit on complex plane ℂ, so j² = −1. Therefore, every complex vector y defines a covector according to formula (R), but also can be considered as a bra-vector via inner product (C). Of course, there is a one-to-one correspondence between linear functional (R) and inner product formula (C). Although linear combination (R) defines a linear functional on any vector space independently on the field of scalars, the inner product rule (C) is not a linear functional in case of complex vector spaces. The dot product expression (R) defines orthogonality only for real vector spaces, but the inner product formula (C) is suitable for its definition in complex case.
When field 𝔽 is real (either ℝ or ℚ or ℤ), a vector space V over 𝔽 can be equipped with dot product rule (R). Then we can say that two numeric vectors x and y from V are orthogonal if
We discuss the four fundamental subspaces associated with every
m×n matrix over field 𝔽.
Four Fundamental subspaces associated with every
m×n matrix A:
The row space of matrix A, which is subspace of
𝔽1×n ≌ 𝔽n. The row space is the column space for the transposed matrixAT.
The column space (also called the range or image when matrix A
is considered as a transformation) of matrix A, which is subspace of
𝔽m×1 ≌ 𝔽m. The column space is the row space for the transposed
matrix AT.
The nullspace (also called kernel when matrix A
is considered as a transformation) of matrix A, which is subspace of
𝔽n×1 ≌ 𝔽n. It consists of all n-vectors x that are
mapped by A into zero vector: A x = 0.
The cokernel (also called left nullspace) of A, which is the
kernel of AT. It is subspace of 𝔽m. The
cokernel includes all solutions of the vector equation yTA = 0 or ATx = 0.
In case of complex entries of matrix A, linear combination rule (R) does not define a metric on ℂn (but still is a linear functional), the cokernel is defined as the kernel of matrix adjoint, A✶. It consists of all y ∈ ℂm such that
A✶y = 0.
Recall that a set of vectors β is said to generate or span a vector space V if every element from
V can be represented as a linear combination of vectors from β.
Since this matrix has three pivots in the first three rows, rank of A is
3. Both kernel and cokernel are one dimensional. The row space is spanned on
the first three rows either matrix A
The easiest way to determine the basis of the kernel is to use the standard
Mathematica command:
NullSpace[A]
{{55, -53, -56, 65}}
This vector is orthogonal to each basis vector of the row space. To verify
this, we calculate its dot products with
every vector generating the row space:
n = {55, -53, -56, 65}
n.{3,4,-2,-1}
0
n.{5, 1, -3, -6}
0
n.{1,4,3,5}
0
n.{13, 0, 0, -11}
0
n.{0, 65, 0, 53}
0
n.{0, 0, 65, 56}
0
Multiplying A from right by the elementary matrix E, we reduce
the given matrix to lower triangular form (such operation is equivalent to
column elementary operations):
Note that this vector is orthogonal (so its dot product is zero) to every
vector from the column space. The basis vector [ 55, -53, -56, 65 ] is
orthogonal to every vector from the row space.
■
Since the latter has three pivots, rank of matrix A is 3. The nullspace
has dimension 5 - 3 = 2, and cokernel is spanned on one vector because
4 - 3 = 1. The row space is spanned on the first three rows of either matrix
A
In order to determine the basis for kernel and cokernel, we find its
LU-decompositions: first time using elementary row operations and then
elementary column operations. So multiplying matrix A by the
lower triangular matrix E1 from left, we get
In \( \mathbb{R}^n , \) the vectors
\( e_1 [1,0,0,\ldots , 0] , \quad e_2 =[0,1,0,\ldots , 0], \quad \ldots , e_n =[0,0,\ldots , 0,1] \)
form a basis for n-dimensional real space, and it is called the standard basis. Its dimension is n.
■
End of Example 2
We now review the main components used in the fundamental theorem, which includes each of the four subspaces associated with a matrix A ∈ 𝔽m×n.
Row Spaces
Column Spaces
Nullspaces
Many different matrices have the same nullspace. So if we want, for instance, to describe a subspace S
as the nullspace of a matrix A, there will always be (infinitely) many
correct answers. Indeed, elementary row operations don’t change the
row-space or the nullspace of a matrix, so once we have S = NullSpace(A),
we also have S = NullSpace(B) for every matrix B obtainable by applying
elementary row operations to A.
Similarly, if we start with S = NullSpace(A), convert to
the explicit description row(HT) = NullSpace(A), and then convert back by
finding the homogeneous generators of HT and making them the rows
of a new matrix B, we don’t expect to get back our original matrix
A (we will not generally have A = B). While A and B will have
the same nullspace, they will not generally be the same matrix.
Likewise, if we start with
S = row(A), convert to the implicit description row(A) =
NullSpace(HT), and then convert back to explicit by making
the nullspace generators of HT the rows of a new matrix B, we will
have row(B) = row(A), even though A ≠ B in general.
Example 4:Example 3:
We consider 2 × 4 matrix
\[
{\bf A} = \begin{bmatrix} 1&\phantom{-}2&3&\phantom{-}4 \\ 1 & -2 & 3 & -4 \end{bmatrix} .
\]
Suppose that subspace S is generated by two rows of matrix A:
\[
S = \mbox{row}({\bf A}) \in \mathbb{R}^{1\times 4} \cong \mathbb{R}^{4} .
\]
Using row operations, we convert it to
\[
{\bf A} \,\sim \,\begin{bmatrix} 1&0&3&0 \\ 0 & 1 & 0 & 2 \end{bmatrix} .
\]
A = {{1, 2, 3, 4}, {1, -2, 3, -4}};
RowReduce[A]
{{1, 0, 3, 0}, {0, 1, 0, 2}}
Then
\[
S = \mbox{NullSpace}({\bf B}) , \qquad {\bf B} = \begin{bmatrix} 1&0&3&0 \\ 0 & 1 & 0 & 2 \end{bmatrix} .
\]
If we now convert back to explicit in the usual way, by computing the
homogenous generators of this last matrix—they are (1, 0, 3, 0) and
(0, 1, 0, 2) —we get
■
End of Example 3
Cokernel
Example 3: Let us consider the
following 3×5 matrix followed by its LU-decomposition:
The first square matrix L is actually the inverse of the elementary
matrix that reduces the given 3×5 matrix into upper triangular form
(which is its reduced row echelon form):
We can make the first easy observation that matrix A has two pivots;
so its rank is 2. The dimension of the kernel is 5 - 2 = 3, and the dimension
of the cokernel is 3 - 2 = 1. Both spaces, row space and column space, are
two dimensional.
The row space for matrix A is spanned on its first two rows or on
rows [1,-2,0,6,7] and [0,0,1,-2,3] of its upper triangular matrix U.
The column space has the basis of two column vectors corresponding to pivots
in positions 1 and 3:
with respect to leading variables x1 and
x3, while x2, x4, and
x5 are free variables. Therefore, the solution of the linear
system of equations Ax = 0 yields
The third option to determine a basis for kernel is to use elementary column
operations to obtain its LU-factorization. Indeed, multiplying the given
matrix A from right by
are situated in the first and third columns, a basis for nullspace is
determined by by columns in the second, fourth, and fifth columns. However,
since there was one swap of pivot columns (second and third), we need to
switch signs of ones on the diagonal and read the basis of kernel as
First, we obtain its LU-factorization using elementary column operations.
Multiplying A from right by the elementary 5×5 matrix E,
we reduce the given matrix to lower triangular form:
The matrix L contains all information about pivots---there are two of
them in rows 1 and 2. So rank of matrix A is 2. Knowing this number
allows one to determine the dimensions of the kernel (5 - 2 =3) and cokernel
(3 - 2 = 1).
Since we use column elementary operations, the columns 1 and 3 in matrix
L provide the basis in columns space:
Solving the latter, we obtain the one nontrivial vector from cokernel space:
\[
\left[ 10 , -3, 1 \right]^{\mathrm T} .
\]
■
End of Example 4
Example 5: The infinite set of monomials \( \left\{ 1, x, x^2 , \ldots , x^n , \ldots \right\} \)
form a basis in the set of all polynomials.
■
End of Example 5
Fundamental theorem of Linear Algebra:
The nullspace is the orthogonal complement of the row space
(in 𝔽n).
The cokernel is the orthogonal complement of the column space
(in 𝔽m).
Example 5: The infinite set of monomials \( \left\{ 1, x, x^2 , \ldots , x^n , \ldots \right\} \)
form a basis in the set of all polynomials.
■
End of Example 5
Example 5: The infinite set of monomials \( \left\{ 1, x, x^2 , \ldots , x^n , \ldots \right\} \)
form a basis in the set of all polynomials.
■