Skip to main content
\(\newcommand{\orderof}[1]{\sim #1} \newcommand{\Z}{\mathbb{Z}} \newcommand{\reals}{\mathbb{R}} \newcommand{\real}[1]{\mathbb{R}^{#1}} \newcommand{\complexes}{\mathbb{C}} \newcommand{\complex}[1]{\mathbb{C}^{#1}} \newcommand{\conjugate}[1]{\overline{#1}} \newcommand{\modulus}[1]{\left\lvert#1\right\rvert} \newcommand{\zerovector}{\vect{0}} \newcommand{\zeromatrix}{\mathcal{O}} \newcommand{\innerproduct}[2]{\left\langle#1,\,#2\right\rangle} \newcommand{\norm}[1]{\left\lVert#1\right\rVert} \newcommand{\dimension}[1]{\dim\left(#1\right)} \newcommand{\nullity}[1]{n\left(#1\right)} \newcommand{\rank}[1]{r\left(#1\right)} \newcommand{\ds}{\oplus} \newcommand{\detname}[1]{\det\left(#1\right)} \newcommand{\detbars}[1]{\left\lvert#1\right\rvert} \newcommand{\trace}[1]{t\left(#1\right)} \newcommand{\sr}[1]{#1^{1/2}} \newcommand{\spn}[1]{\left\langle#1\right\rangle} \newcommand{\nsp}[1]{\mathcal{N}\!\left(#1\right)} \newcommand{\csp}[1]{\mathcal{C}\!\left(#1\right)} \newcommand{\rsp}[1]{\mathcal{R}\!\left(#1\right)} \newcommand{\lns}[1]{\mathcal{L}\!\left(#1\right)} \newcommand{\per}[1]{#1^\perp} \newcommand{\augmented}[2]{\left\lbrack\left.#1\,\right\rvert\,#2\right\rbrack} \newcommand{\linearsystem}[2]{\mathcal{LS}\!\left(#1,\,#2\right)} \newcommand{\homosystem}[1]{\linearsystem{#1}{\zerovector}} \newcommand{\rowopswap}[2]{R_{#1}\leftrightarrow R_{#2}} \newcommand{\rowopmult}[2]{#1R_{#2}} \newcommand{\rowopadd}[3]{#1R_{#2}+R_{#3}} \newcommand{\leading}[1]{\boxed{#1}} \newcommand{\rref}{\xrightarrow{\text{RREF}}} \newcommand{\elemswap}[2]{E_{#1,#2}} \newcommand{\elemmult}[2]{E_{#2}\left(#1\right)} \newcommand{\elemadd}[3]{E_{#2,#3}\left(#1\right)} \newcommand{\scalarlist}[2]{{#1}_{1},\,{#1}_{2},\,{#1}_{3},\,\ldots,\,{#1}_{#2}} \newcommand{\vect}[1]{\mathbf{#1}} \newcommand{\colvector}[1]{\begin{bmatrix}#1\end{bmatrix}} \newcommand{\vectorcomponents}[2]{\colvector{#1_{1}\\#1_{2}\\#1_{3}\\\vdots\\#1_{#2}}} \newcommand{\vectorlist}[2]{\vect{#1}_{1},\,\vect{#1}_{2},\,\vect{#1}_{3},\,\ldots,\,\vect{#1}_{#2}} \newcommand{\vectorentry}[2]{\left\lbrack#1\right\rbrack_{#2}} \newcommand{\matrixentry}[2]{\left\lbrack#1\right\rbrack_{#2}} \newcommand{\lincombo}[3]{#1_{1}\vect{#2}_{1}+#1_{2}\vect{#2}_{2}+#1_{3}\vect{#2}_{3}+\cdots +#1_{#3}\vect{#2}_{#3}} \newcommand{\matrixcolumns}[2]{\left\lbrack\vect{#1}_{1}|\vect{#1}_{2}|\vect{#1}_{3}|\ldots|\vect{#1}_{#2}\right\rbrack} \newcommand{\transpose}[1]{#1^{t}} \newcommand{\inverse}[1]{#1^{-1}} \newcommand{\submatrix}[3]{#1\left(#2|#3\right)} \newcommand{\adj}[1]{\transpose{\left(\conjugate{#1}\right)}} \newcommand{\adjoint}[1]{#1^\ast} \newcommand{\set}[1]{\left\{#1\right\}} \newcommand{\setparts}[2]{\left\lbrace#1\,\middle|\,#2\right\rbrace} \newcommand{\card}[1]{\left\lvert#1\right\rvert} \newcommand{\setcomplement}[1]{\overline{#1}} \newcommand{\charpoly}[2]{p_{#1}\left(#2\right)} \newcommand{\eigenspace}[2]{\mathcal{E}_{#1}\left(#2\right)} \newcommand{\eigensystem}[3]{\lambda&=#2&\eigenspace{#1}{#2}&=\spn{\set{#3}}} \newcommand{\geneigenspace}[2]{\mathcal{G}_{#1}\left(#2\right)} \newcommand{\algmult}[2]{\alpha_{#1}\left(#2\right)} \newcommand{\geomult}[2]{\gamma_{#1}\left(#2\right)} \newcommand{\indx}[2]{\iota_{#1}\left(#2\right)} \newcommand{\ltdefn}[3]{#1\colon #2\rightarrow#3} \newcommand{\lteval}[2]{#1\left(#2\right)} \newcommand{\ltinverse}[1]{#1^{-1}} \newcommand{\restrict}[2]{{#1}|_{#2}} \newcommand{\preimage}[2]{#1^{-1}\left(#2\right)} \newcommand{\rng}[1]{\mathcal{R}\!\left(#1\right)} \newcommand{\krn}[1]{\mathcal{K}\!\left(#1\right)} \newcommand{\compose}[2]{{#1}\circ{#2}} \newcommand{\vslt}[2]{\mathcal{LT}\left(#1,\,#2\right)} \newcommand{\isomorphic}{\cong} \newcommand{\similar}[2]{\inverse{#2}#1#2} \newcommand{\vectrepname}[1]{\rho_{#1}} \newcommand{\vectrep}[2]{\lteval{\vectrepname{#1}}{#2}} \newcommand{\vectrepinvname}[1]{\ltinverse{\vectrepname{#1}}} \newcommand{\vectrepinv}[2]{\lteval{\ltinverse{\vectrepname{#1}}}{#2}} \newcommand{\matrixrep}[3]{M^{#1}_{#2,#3}} \newcommand{\matrixrepcolumns}[4]{\left\lbrack \left.\vectrep{#2}{\lteval{#1}{\vect{#3}_{1}}}\right|\left.\vectrep{#2}{\lteval{#1}{\vect{#3}_{2}}}\right|\left.\vectrep{#2}{\lteval{#1}{\vect{#3}_{3}}}\right|\ldots\left|\vectrep{#2}{\lteval{#1}{\vect{#3}_{#4}}}\right.\right\rbrack} \newcommand{\cbm}[2]{C_{#1,#2}} \newcommand{\jordan}[2]{J_{#1}\left(#2\right)} \newcommand{\hadamard}[2]{#1\circ #2} \newcommand{\hadamardidentity}[1]{J_{#1}} \newcommand{\hadamardinverse}[1]{\widehat{#1}} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \)

SectionSLTSurjective Linear Transformations

The companion to an injection is a surjection. Surjective linear transformations are closely related to spanning sets and ranges. So as you read this section reflect back on Section ILT and note the parallels and the contrasts. In the next section, Section IVLT, we will combine the two properties.

SubsectionSLTSurjective Linear Transformations

As usual, we lead with a definition.

DefinitionSLTSurjective Linear Transformation

Suppose \(\ltdefn{T}{U}{V}\) is a linear transformation. Then \(T\) is surjective if for every \(\vect{v}\in V\) there exists a \(\vect{u}\in U\) so that \(\lteval{T}{\vect{u}}=\vect{v}\text{.}\)

Given an arbitrary function, it is possible for there to be an element of the codomain that is not an output of the function (think about the function \(y=f(x)=x^2\) and the codomain element \(y=-3\)). For a surjective function, this never happens. If we choose any element of the codomain (\(\vect{v}\in V\)) then there must be an input from the domain (\(\vect{u}\in U\)) which will create the output when used to evaluate the linear transformation (\(\lteval{T}{\vect{u}}=\vect{v}\)). Some authors prefer the term onto where we use surjective, and we will sometimes refer to a surjective linear transformation as a surjection.

SubsectionESLTExamples of Surjective Linear Transformations

It is perhaps most instructive to examine a linear transformation that is not surjective first.

Here is a cartoon of a non-surjective linear transformation. Notice that the central feature of this cartoon is that the vector \(\vect{v}\in V\) does not have an arrow pointing to it, implying there is no \(\vect{u}\in U\) such that \(\lteval{T}{\vect{u}}=\vect{v}\text{.}\) Even though this happens again with a second unnamed vector in \(V\text{,}\) it only takes one occurrence to destroy the possibility of surjectivity.

<<SVG image is unavailable, or your browser cannot render it>>

Figure7.62Non-Surjective Linear Transformation

To show that a linear transformation is not surjective, it is enough to find a single element of the codomain that is never created by any input, as in Example NSAQ. However, to show that a linear transformation is surjective we must establish that every element of the codomain occurs as an output of the linear transformation for some appropriate input.

Here is the cartoon for a surjective linear transformation. It is meant to suggest that for every output in \(V\) there is at least one input in \(U\) that is sent to the output. (Even though we have depicted several inputs sent to each output.) The key feature of this cartoon is that there are no vectors in \(V\) without an arrow pointing to them.

<<SVG image is unavailable, or your browser cannot render it>>

Figure7.64Surjective Linear Transformation

Let us now examine a surjective linear transformation between abstract vector spaces.

SubsectionRLTRange of a Linear Transformation

For a linear transformation \(\ltdefn{T}{U}{V}\text{,}\) the range is a subset of the codomain \(V\text{.}\) Informally, it is the set of all outputs that the transformation creates when fed every possible input from the domain. It will have some natural connections with the column space of a matrix, so we will keep the same notation, and if you think about your objects, then there should be little confusion. Here is the careful definition.

DefinitionRLTRange of a Linear Transformation

Suppose \(\ltdefn{T}{U}{V}\) is a linear transformation. Then the range of \(T\) is the set \begin{equation*} \rng{T}=\setparts{\lteval{T}{\vect{u}}}{\vect{u}\in U}\text{.} \end{equation*}

We know that the span of a set of vectors is always a subspace (Theorem SSS), so the range computed in Example RAO is also a subspace. This is no accident, the range of a linear transformation is always a subspace.


Let us compute another range, now that we know in advance that it will be a subspace.

In contrast to injective linear transformations having small (trivial) kernels (Theorem KILT), surjective linear transformations have large ranges, as indicated in the next theorem.


SubsectionSSSLTSpanning Sets and Surjective Linear Transformations

Just as injective linear transformations are allied with linear independence (Theorem ILTLI, Theorem ILTB), surjective linear transformations are allied with spanning sets.


Theorem SSRLT provides an easy way to begin the construction of a basis for the range of a linear transformation, since the construction of a spanning set requires simply evaluating the linear transformation on a spanning set of the domain. In practice the best choice for a spanning set of the domain would be as small as possible, in other words, a basis. The resulting spanning set for the codomain may not be linearly independent, so to find a basis for the range might require tossing out redundant vectors from the spanning set. Here is an example.

Elements of the range are precisely those elements of the codomain with nonempty preimages.


Now would be a good time to return to Figure 7.48 which depicted the pre-images of a non-surjective linear transformation. The vectors \(\vect{x},\,\vect{y}\in V\) were elements of the codomain whose pre-images were empty, as we expect for a non-surjective linear transformation from the characterization in Theorem RPI.


SubsectionSLTDSurjective Linear Transformations and Dimension


Notice that the previous example made no use of the actual formula defining the function. Merely a comparison of the dimensions of the domain and codomain are enough to conclude that the linear transformation is not surjective. Archetype O and Archetype P are two more examples of linear transformations that have “small” domains and “big” codomains, resulting in an inability to create all possible outputs and thus they are non-surjective linear transformations.

SubsectionCSLTComposition of Surjective Linear Transformations

In Subsection LT.NLTFO we saw how to combine linear transformations to build new linear transformations, specifically, how to build the composition of two linear transformations (Definition LTC). It will be useful later to know that the composition of surjective linear transformations is again surjective, so we prove that here.

SageCSLTComposition of Surjective Linear Transformations
Click to open

SubsectionReading Questions


Suppose \(\ltdefn{T}{\complex{5}}{\complex{8}}\) is a linear transformation. Why is \(T\) not surjective?


What is the relationship between a surjective linear transformation and its range?


There are many similarities and differences between injective and surjective linear transformations. Compare and contrast these two different types of linear transformations. (This means going well beyond just stating their definitions.)



Each archetype below is a linear transformation. Compute the range for each.

Archetype M, Archetype N, Archetype O, Archetype P, Archetype Q, Archetype R, Archetype S, Archetype T, Archetype U, Archetype V, Archetype W, Archetype X


Example SAR concludes with an expression for a vector \(\vect{u}\in\complex{5}\) that we believe will create the vector \(\vect{v}\in\complex{5}\) when used to evaluate \(T\text{.}\) That is, \(\lteval{T}{\vect{u}}=\vect{v}\text{.}\) Verify this assertion by actually evaluating \(T\) with \(\vect{u}\text{.}\) If you do not have the patience to push around all these symbols, try choosing a numerical instance of \(\vect{v}\text{,}\) compute \(\vect{u}\text{,}\) and then compute \(\lteval{T}{\vect{u}}\text{,}\) which should result in \(\vect{v}\text{.}\)


The linear transformation \(\ltdefn{S}{\complex{4}}{\complex{3}}\) is not surjective. Find an output \(\vect{w}\in\complex{3}\) that has an empty pre-image (that is \(\preimage{S}{\vect{w}}=\emptyset\text{.}\)) \begin{equation*} \lteval{S}{\colvector{x_1\\x_2\\x_3\\x_4}}= \colvector{ 2x_1+x_2+3x_3-4x_4\\ x_1+3x_2+4x_3+3x_4\\ -x_1+2x_2+x_3+7x_4 } \end{equation*}


Determine whether or not the following linear transformation \(\ltdefn{T}{\complex{5}}{P_3}\) is surjective: \begin{align*} \lteval{T}{\colvector{a\\b\\c\\d\\e}} &= a + (b + c)x + (c + d)x^2 + (d + e)x^3\text{.} \end{align*}


Determine whether or not the linear transformation \(\ltdefn{T}{P_3}{\complex{5}}\) below is surjective: \begin{align*} \lteval{T}{a + bx + cx^2 + dx^3} &= \colvector{a + b \\ b + c \\ c + d \\ a + c\\ b + d}\text{.} \end{align*}


Define the linear transformation \begin{equation*} \ltdefn{T}{\complex{3}}{\complex{2}},\quad \lteval{T}{\colvector{x_1\\x_2\\x_3}}=\colvector{2x_1-x_2+5x_3\\-4x_1+2x_2-10x_3}\text{.} \end{equation*} Find a basis for the range of \(T\text{,}\) \(\rng{T}\text{.}\) Is \(T\) surjective?


Let \(\ltdefn{T}{\complex{3}}{\complex{3}} \) be given by \(\lteval{T}{\colvector{a\\b\\c}} = \colvector{a + b + 2c\\ 2c\\ a + b + c}\text{.}\) Find a basis of \(\rng{T}\text{.}\) Is \(T\) surjective?


Let \(\ltdefn{T}{\complex{3}}{\complex{4}}\) be given by \(\lteval{T}{\colvector{a\\b\\c}} = \colvector{a + b -c\\ a - b + c\\ -a + b + c\\a + b + c}\text{.}\) Find a basis of \(\rng{T}\text{.}\) Is \(T\) surjective?


Let \(\ltdefn{T}{\complex{4}}{ M_{22}}\) be given by \(\lteval{T}{\colvector{a\\b\\c\\d}} = \begin{bmatrix} a + b & a + b + c\\ a + b + c & a + d\end{bmatrix}\text{.}\) Find a basis of \(\rng{T}\text{.}\) Is \(T\) surjective?


Let \(\ltdefn{T}{P_2}{P_4}\) be given by \(\lteval{T}{p(x)} = x^2 p(x)\text{.}\) Find a basis of \(\rng{T}\text{.}\) Is \(T\) surjective?


Let \(\ltdefn{T}{P_4}{P_3}\) be given by \(\lteval{T}{p(x)} = p^\prime(x)\text{,}\) where \(p^\prime(x)\) is the derivative. Find a basis of \(\rng{T}\text{.}\) Is \(T\) surjective?


Show that the linear transformation \(T\) is not surjective by finding an element of the codomain, \(\vect{v}\text{,}\) such that there is no vector \(\vect{u}\) with \(\lteval{T}{\vect{u}}=\vect{v}\text{.}\) \begin{equation*} \ltdefn{T}{\complex{3}}{\complex{3}},\quad \lteval{T}{\colvector{a\\b\\c}}= \colvector{2a+3b-c\\2b-2c\\a-b+2c} \end{equation*}


Suppose \(U\) and \(V\) are vector spaces. Define the function \(\ltdefn{Z}{U}{V}\) by \(\lteval{Z}{\vect{u}}=\zerovector_{V}\) for every \(\vect{u}\in U\text{.}\) Then by Exercise LT.M60, \(Z\) is a linear transformation. Formulate a condition on \(V\) that is equivalent to \(Z\) being an surjective linear transformation. In other words, fill in the blank to complete the following statement (and then give a proof): \(Z\) is surjective if and only if \(V\) is . (See Exercise ILT.M60, Exercise IVLT.M60.)


Suppose that \(\ltdefn{T}{U}{V}\) and \(\ltdefn{S}{V}{W}\) are linear transformations. Prove the following relationship between ranges, \begin{equation*} \rng{\compose{S}{T}}\subseteq\rng{S}\text{.} \end{equation*}


Suppose that \(A\) is an \(m\times n\) matrix. Define the linear transformation \(T\) by \begin{equation*} \ltdefn{T}{\complex{n}}{\complex{m}},\quad \lteval{T}{\vect{x}}=A\vect{x}\text{.} \end{equation*} Prove that the range of \(T\) equals the column space of \(A\text{,}\) \(\rng{T}=\csp{A}\text{.}\)