# Determine the cokernel of a linear transformation between $\mathbb Q$ vector spaces

Let $f:E\longmapsto V$ be a linear map between finite dimensional $\mathbb Q$-vector spaces with bases $\{e_1,\cdots,e_n\}$ and $\{v_1,\cdots,v_m\}$ Define $coker(f)$ to be the quotient vector space $V/Im(f)$. This is a $\mathbb Q$-vector space of dimension $m-rank(f)$. Knowing that a basis for $Im(f)$ is already determined and it is composed of the $rank(f)$ vectors among the $n$ vectors $\{f(e_1), \cdots,f(e_n)\}$ that are linearly independant, I want to give an explicit basis for $coker(f)$, possibly in terms of the basis of $V$ and the basis of $Im(f)$. thank you for your help!

This is an application of the exchange lemma: if $X$ is a linearly independent set in $V$ and $B$ is a basis of $V$ (actually it's sufficient that $B$ is a spanning set is), then we can substitute $|X|$ elements of $B$ with the elements of $X$ and the resulting set is still a basis.

So, if $X=\{y_1,\dots,y_k\}$ is a basis of $\mathrm{Im}(f)$ (determined as you outline), you can find $m-k$ elements among $\{v_1,\dots,v_m\}$ such that $\{y_1,\dots,y_k,v_{i_{1}},\dots,v_{i_{m-k}}\}$ is a basis of $V$. Set $w_j=v_{i_j}$ $(i=1,\dots,m-k)$ to keep notation simple.

You need only to show that $\{\pi(w_1),\dots,\pi(w_{m-k})\}$ is linearly independent, where $\pi\colon V\to V/\mathrm{Im}(f)$ is the canonical projection, as it is clearly a spanning set. Saying that $$\alpha_1\pi(w_1)+\dots+\alpha_{m-k}\pi(w_{m-k})=0$$ means that $$\alpha_1w_1+\dots+\alpha_{m-k}w_{m-k}\in\mathrm{Im}(f)$$ so $$\alpha_1w_1+\dots+\alpha_{m-k}w_{m-k}=\beta_1y_1+\dots+\beta_ky_k$$ which is only possible if all the coefficients are zero.

Without a knowledge of $f$ it's impossible to say more than this, so this is as much “explicit” as you can get.

Now, assume we know the map $f$ and that we are able to compute the coordinates with respect to a basis of $V$ (it can be the given one or any other, for instance the canonical basis if $V=\mathbb{Q}^m$). So, if $x_1,\dots,x_n$ are the coordinate vectors of $f(e_1),\dots,f(e_n)$ and $y_1,\dots,y_m$ are the coordinate vectors of $v_1,\dots,v_m$, you can build the matrix $$[x_1\ x_2\ \dots\ x_n\ |\ y_1\ y_2\ \dots\ y_m]$$ and proceed to find its reduced echelon form. The bar is just to separate the two sets of vectors.

At the left of the bar you'll find $k=\mathrm{rank}(f)$ dominant columns, at the right $m-k$ dominant columns. The $k$ columns corresponding to the dominant columns at the left are a basis for $\mathrm{Im}(f)$, the canonical projections of the $m-k$ at the right give a basis for $\mathrm{coker}(f)$. This is just like using the exchange lemma.

• thank you egreg : so in conclusion a basis for $coker(f)$ would be $\{\pi(w_1),\dots,\pi(w_{m-k})\}$ for any set of vectors $W=\{w_1,\dots,w_{m-k}\}$ making (basis of Im(f))$\cup W$ a basis of $V$. By the way we know everything about $f$, it sends each $e_i$ to $q_{i1}v_1+\cdots q_{im}v_m$ where $q_{ij}$ are known rationals. May 4 '13 at 16:44
• I found the basis of $Im(f)$ from $f(e_1), ...,f(e_n)$ using reduced echelon form of the correspondant matrix of $f$. Can we find these $w_1,...,w_{m-k}$ more simply in the corresponding matrix setting? May 4 '13 at 16:48
• @palio Just build a matrix with the basis of $\mathrm{Im}(f)$ as the first columns and the basis of $V$ after them; then reduce. The first $k$ column are linearly independent and remains such in the reduced form; just get the remaining $m-k$ dominant columns. May 4 '13 at 16:50
• @palio You can do it in one step, of course. I'll add to my answer. May 4 '13 at 16:52
• You are denoting by $y_1,\dots,y_m$ the coordinate vectors of $v_1,\dots,v_m$ does this mean that the part $y_1y_2\cdots y_m$ in the matrix $$[x_1\ x_2\ \dots\ x_n\ |\ y_1\ y_2\ \dots\ y_m]$$ is simply the $m\times m$ identity matrix $I_m$. May 5 '13 at 10:36

Here's one way to find a basis. Extend the basis of Im$(f)$ to a basis of $V$ (one can always extend a basis of a subspace to a basis of the entire space). Then the images of the extra basis elements (i.e. the basis elements in your basis of $V$ that are not in the basis of Im$(f)$) in coker$(f)$ give a basis for coker$(f)$.

EDIT: If you want your basis of the cokernel to be in terms of your fixed basis of $V$, then you can use the elements $\{v_1,\dots,v_n\}$ to extend your basis of Im$(f)$ to a basis of $V$. I.e. add an appropriate subset of $\{v_1,\dots,v_n\}$ to your basis of Im$(f)$ to get a basis of $V$ (add a $v_i$ that is not in Im$(f)$, then add a $v_j$ that is not in Im$(f)$ + Span $\{v_i\}$, etc. until you have a basis of $V$).