# cokernel(ToricVectorBundleKlyachko,Matrix) -- the cokernel of a morphism to a vector bundle

## Synopsis

• Function: cokernel
• Usage:
E1 = coker(E,M)
• Inputs:
• M, , over ZZ or QQ
• Outputs:

## Description

M must be a matrix over ZZ or QQ where the target space is the space of the bundle, i.e., the matrix must have $k$ rows if the bundle has rank $k$. Then the new bundle is given on each ray $\rho$ by the following filtration of coker(E,M)${}^\rho = ( E^{\rho} ) /$im(M) :

coker(E,M)${}^\rho(i) := E^{\rho}(i) / ( E^{\rho}(i) \cap$ im(M) ).

 i1 : E = tangentBundle hirzebruchFan 2 o1 = {dimension of the variety => 2 } number of affine charts => 4 number of rays => 4 rank of the vector bundle => 2 o1 : ToricVectorBundleKlyachko i2 : E = E ** E o2 = {dimension of the variety => 2 } number of affine charts => 4 number of rays => 4 rank of the vector bundle => 4 o2 : ToricVectorBundleKlyachko i3 : M = matrix {{1,0},{0,1},{1,0},{0,1/1}} o3 = | 1 0 | | 0 1 | | 1 0 | | 0 1 | 4 2 o3 : Matrix QQ <--- QQ i4 : E1 = coker(E,M) o4 = {dimension of the variety => 2 } number of affine charts => 4 number of rays => 4 rank of the vector bundle => 2 o4 : ToricVectorBundleKlyachko i5 : details E1 o5 = HashTable{| -1 | => (| -1/2 1/2 |, | -2 -1 |)} | 2 | | 1 0 | | 0 | => (| 0 1 |, | -2 -1 |) | -1 | | 1 0 | | 0 | => (| 0 1 |, | -2 -1 |) | 1 | | 1 0 | | 1 | => (| 1 0 |, | -2 -1 |) | 0 | | 0 1 | o5 : HashTable