In mathematics, the kernel of a linear map, also known as the null space or nullspace, is the linear subspace of the domain of the map which is mapped to the zero vector. That is, given a linear map L : V → W between two vector spacesV and W, the kernel of L is the vector space of all elements v of V such that L(v) = 0, where 0 denotes the zero vector in W, or more symbolically:
The kernel of L is a linear subspace of the domain V.
In the linear map two elements of V have the same image in W if and only if their difference lies in the kernel of L, that is,
From this, it follows that the image of L is isomorphic to the quotient of V by the kernel:
The notion of kernel also makes sense for homomorphisms of modules, which are generalizations of vector spaces where the scalars are elements of a ring, rather than a field. The domain of the mapping is a module, with the kernel constituting a submodule. Here, the concepts of rank and nullity do not necessarily apply.
Consider a linear map represented as a m × n matrix A with coefficients in a fieldK (typically or ), that is operating on column vectors x with n components over K.
The kernel of this linear map is the set of solutions to the equation Ax = 0, where 0 is understood as the zero vector. The dimension of the kernel of A is called the nullity of A. In set-builder notation,
The product Ax can be written in terms of the dot product of vectors as follows:
Here, a1, ... , am denote the rows of the matrix A. It follows that x is in the kernel of A, if and only if x is orthogonal (or perpendicular) to each of the row vectors of A (since orthogonality is defined as having a dot product of 0).
The row space, or coimage, of a matrix A is the span of the row vectors of A. By the above reasoning, the kernel of A is the orthogonal complement to the row space. That is, a vector x lies in the kernel of A, if and only if it is perpendicular to every vector in the row space of A.
The dimension of the row space of A is called the rank of A, and the dimension of the kernel of A is called the nullity of A. These quantities are related by the rank–nullity theorem
Left null space
The left null space, or cokernel, of a matrix A consists of all column vectors x such that xTA = 0T, where T denotes the transpose of a matrix. The left null space of A is the same as the kernel of AT. The left null space of A is the orthogonal complement to the column space of A, and is dual to the cokernel of the associated linear transformation. The kernel, the row space, the column space, and the left null space of A are the four fundamental subspaces associated to the matrix A.
Nonhomogeneous systems of linear equations
The kernel also plays a role in the solution to a nonhomogeneous system of linear equations:
If u and v are two possible solutions to the above equation, then
Thus, the difference of any two solutions to the equation Ax = b lies in the kernel of A.
It follows that any solution to the equation Ax = b can be expressed as the sum of a fixed solution v and an arbitrary element of the kernel. That is, the solution set to the equation Ax = b is
The following is a simple illustration of the computation of the kernel of a matrix (see § Computation by Gaussian elimination, below for methods better suited to more complex calculations). The illustration also touches on the row space and its relation to the kernel.
Consider the matrix
The kernel of this matrix consists of all vectors (x, y, z) ∈ R3 for which
Since c is a free variable ranging over all real numbers, this can be expressed equally well as:
The kernel of A is precisely the solution set to these equations (in this case, a line through the origin in R3). Here, since the vector (−1,−26,16)T constitutes a basis of the kernel of A. The nullity of A is 1.
The following dot products are zero:
which illustrates that vectors in the kernel of A are orthogonal to each of the row vectors of A.
These two (linearly independent) row vectors span the row space of A—a plane orthogonal to the vector (−1,−26,16)T.
With the rank 2 of A, the nullity 1 of A, and the dimension 3 of A, we have an illustration of the rank-nullity theorem.
If L: Rm → Rn, then the kernel of L is the solution set to a homogeneous system of linear equations. As in the above illustration, if L is the operator:
then the kernel of L is the set of solutions to the equations
Let C[0,1] denote the vector space of all continuous real-valued functions on the interval [0,1], and define L: C[0,1] → R by the rule
Then the kernel of L consists of all functions f ∈ C[0,1] for which f(0.3) = 0.
Let C∞(R) be the vector space of all infinitely differentiable functions R → R, and let D: C∞(R) → C∞(R) be the differentiation operator:
Then the kernel of D consists of all functions in C∞(R) whose derivatives are zero, i.e. the set of all constant functions.
Computing its column echelon form by Gaussian elimination (or any other suitable method), we get a matrix A basis of the kernel of A consists in the non-zero columns of C such that the corresponding column of B is a zero column.
In fact, the computation may be stopped as soon as the upper matrix is in column echelon form: the remainder of the computation consists in changing the basis of the vector space generated by the columns whose upper part is zero.
For example, suppose that
Putting the upper part in column echelon form by column operations on the whole matrix gives
The last three columns of B are zero columns. Therefore, the three last vectors of C,
are a basis of the kernel of A.
Proof that the method computes the kernel: Since column operations correspond to post-multiplication by invertible matrices, the fact that reduces to means that there exists an invertible matrix such that with in column echelon form. Thus and A column vector belongs to the kernel of (that is ) if and only if where As is in column echelon form, if and only if the nonzero entries of correspond to the zero columns of By multiplying by , one may deduce that this is the case if and only if is a linear combination of the corresponding columns of
The problem of computing the kernel on a computer depends on the nature of the coefficients.
For matrices whose entries are floating-point numbers, the problem of computing the kernel makes sense only for matrices such that the number of rows is equal to their rank: because of the rounding errors, a floating-point matrix has almost always a full rank, even when it is an approximation of a matrix of a much smaller rank. Even for a full-rank matrix, it is possible to compute its kernel only if it is well conditioned, i.e. it has a low condition number.
Even for a well conditioned full rank matrix, Gaussian elimination does not behave correctly: it introduces rounding errors that are too large for getting a significant result. As the computation of the kernel of a matrix is a special instance of solving a homogeneous system of linear equations, the kernel may be computed by any of the various algorithms designed to solve homogeneous systems. A state of the art software for this purpose is the Lapack library.
^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's lectures.