# ToricVectorBundleKlyachko -- the class of all toric vector bundles in Klyachko's description

## Description

"A toric vector bundle on a toric variety $X$ is a locally free sheaf $E$ together with an action of the torus $T$ on the geometric vector bundle $V(E)$ such that the projection to the base $X$ is equivariant, and the action of $T$ on the fibers is linear. There also is an induced action of $T$ on the local sections $s \in{} \Gamma(U,E)$ given by $(t*s)(x) = t^{ -1}(s(t x))$ . This implies that a regular section $x^u \in{} \Gamma(X,O_X)$ for an element $u$ in the character lattice $M$ also has weight $u$. Other choices for the induced action are possible. In fact, the upper one is different from Klyachko's in his original desription where $x^u \in{} \Gamma(X,O_X)$ has weight $-u$. We denote by $E_0$ the fiber over the unit $t_0 \in{} T$, and by $U_\sigma \subset X$ the open affine torus invariant subset associated with the cone $\sigma$. The primitive generator of the ray $\rho$ in the fan $\Sigma$ is denoted by $v_\rho$. Evaluating local homogeneous sections $\Gamma(U_{\rho},E)_u$ of weight $u$ at $t_0$ provides us with an embedding of these finite dimensional vector spaces into $E_0$. One can show that the upper choice of the induced torus action implies that the image of $\Gamma(U_\rho,E)_{u_1}$ is contained in the image of $\Gamma(U_\rho,E)_{u_2}$ if and only if the pairing $(u_1-u_2,v_\rho) \leq 0$. Furthermore one observes that the image only depends on the class of the weight $u$ in the quotient lattice $M_\rho := M/M^\rho$, where $M^\rho$ denotes the intersection of $M$ with the vector space perpendicular to the ray $\rho$. Since $M_\rho \cong \mathbb{Z}$ we denote the image of $\Gamma(U_\rho,E)_u$ in $E_0$ by $E^\rho(i)$ with $i = (u,v_\rho)$. Each ray $\rho \in{} \Sigma$ thus gives rise to an increasing filtration $\{E^\rho(i)\}$ of $E_0$. Since $E_0$ is finite dimensional there is only a finite set of integers $i$ for which a jump occurs, i.e., $E^\rho(i)$ strictly contains $E^\rho(i-1)$. At all other steps the filtration remains constant. Apart from that, each open affine subset $U_\sigma$ for $\sigma \in{} \Sigma$ induces a direct sum decomposition of $E_0 = \oplus_{u \in{} M_\sigma}E^\sigma_u$ such that $E^\rho(i) = \sum_{(u,v_\rho) \leq i} E^\sigma_u$ for each $\rho \in{} \sigma$ and $i \in{} \mathbb{Z}$. Observe that the lattice $M_\sigma$ is defined analogously to the lattice $M_\rho$, i.e., it is the quotient lattice $M/M^\sigma$ where $M^\sigma$ denotes the intersection of $M$ with the vector space perpendicular to the cone $\sigma$."

With the notation and conventions introduced above it is now possible to state the fundamental theorem of Klyachko which completely describes toric vector bundles in linear algebraic terms:

The category of toric vector bundles on the toric variety $X$ is equivalent to the category of finite dimensional $k$-vector spaces $E_0$ with collections of increasing filtrations $\{E^{\rho}(i)| i \in{} \mathbb{Z}\}$, indexed by the rays of $\Sigma$, satisfying the following compatibility condition: For each cone $\sigma \in{} \Sigma$ there is a decomposition $E_0 = \oplus_{u \in{} M_\sigma} E_u$ such that $E^{\rho}(i) = \sum_{(u,v_\rho) \leq i} E_u$ for every ray $\rho \in{} \sigma$ and every $i \in{} \mathbb{Z}$.

"In contrast to the implementation of Kaneyama's description this one works for every toric variety $X$ i.e., there are no restrictions on the fan $\Sigma$. For each ray $\rho$ of the fan $\Sigma$ there are two matrices comprising the necessary filtration data. The first one is an invertible matrix $A(\rho) \in{}$ GL("k,QQ") whose columns contain a basis of the vector space $E_0$ which is associated to the filtration corresponding to the ray $\rho$. The second one is a ",TT "1 x k"," integer matrix, the so called filtration matrix. It determines at which step an element of the basis given in the first matrix actually contributes to a certain subspace in the filtration, i.e., if the j-th entry of the filtration matrix is i then the j-th basis vector appears at the i-th step in the filtration. Hence $E^{\rho}(i)$ is generated by all basis vectors listed in $A(\rho)$ whose corresponding entry in the filtration matrix is less or equal to $E_0$."

"To link up to the description of Kaneyama we will also discuss the example of the cotangent bundle $\mathbf{\Omega}_X$ of $X = \mathbb{P}^2$. Recall that $X$ can be given by the complete fan with rays $\rho_1 = (1,0)$, $\rho_2 = (0,1)$, and $\rho_3 = (-1,-1)$. There are three maximal cones, namely $\sigma_1$ spanned by $\rho_1,\rho_2$, $\sigma_2$ spanned by $\rho_2,\rho_3$, and $\sigma_3$ spanned by $\rho_3,\rho_1$. Each of them corresponds to a torus invariant affine chart $U_{\sigma_i}$. It follows that the $k[\sigma_1^v \cap M]$-module $\Gamma(U_{\sigma_1},\Omega_X)$ is generated by $dx := d(x^{[1,0]})$, and $dy := d(x^{[0,1]})$, and analogously for the remaining charts. We now fix a basis of $\Omega_0$ by evaluating the sections $dx,dy$ at the unit $t_0$. This gives rise to filtrations $\Omega^\rho(i)$. We only consider the example $\rho = \rho_3$. The filtrations for the two other rays can be found by analogous calculations. Now, $k[U_{\rho_3}] = k[x^{-1},x^{-1}y,xy^{-1}]$. Then, $\Gamma(U_{\rho_3},\Omega_X)$ is generated as a $k[U_{\rho_3}]$-module by $-x^{-2}dx, -x^{-2}ydx + x^{-1}dy$. Thus, $\Gamma(U_{\rho_3},\Omega_X)_{[1,0]} = 0$, $\Gamma(U_{\rho_3},\Omega_X)_{[0,0]}$ is generated by $xy^{-1}(-x^{-2}ydx + x^{-1}dy)$, and $\Gamma(U_{\rho_3},\Omega_X)_{[-1,0]}$ is two-dimensional. Since $[1,0], [0,0]$, and $[-1,0]$ pair with $v_{\rho_3}=(-1,-1)$ to respectively $-1, 0$, and $1$, the filtration $\Omega^{\rho_3}(i)$ jumps at $1$ and $0$ with corresponding basis vectors $(0,-1)$ and $(-1,1)$. Since $\Omega_X$ already is a vector bundle we do not have to check the compatibility conditions."

An instance of class ToricVectorBundleKlyachko, when displayed or printed, gives an overview of the characteristics of the bundle:

 i1 : E = cotangentBundle(projectiveSpaceFan 2) o1 = {dimension of the variety => 2 } number of affine charts => 3 number of rays => 3 rank of the vector bundle => 2 o1 : ToricVectorBundleKlyachko

To see all relevant details of a bundle use details. The data described above are stored in a single hash table. In the example from above, the keys are the rays of the fan, and each of them comes with a base matrix and a filtration matrix:

 i2 : details E o2 = HashTable{| -1 | => (| 0 -1 |, | 1 0 |)} | -1 | | -1 1 | | 0 | => (| 0 1 |, | 1 0 |) | 1 | | 1 0 | | 1 | => (| 1 0 |, | 1 0 |) | 0 | | 0 1 | o2 : HashTable

## Functions and methods returning a vector bundle on a toric variety (Klyachko's description) :

• addBase -- changing the basis matrices of a toric vector bundle in Klyachko's description
• addFiltration -- changing the filtration matrices of a toric vector bundle in Klyachko's description
• randomDeformation -- a random deformation of a given toric vector bundle
• twist -- twists a toric vector bundle with a line bundle

## Methods that use a vector bundle on a toric variety (Klyachko's description) :

• "addBase(ToricVectorBundleKlyachko,List)" -- see addBase -- changing the basis matrices of a toric vector bundle in Klyachko's description
• "addFiltration(ToricVectorBundleKlyachko,List)" -- see addFiltration -- changing the filtration matrices of a toric vector bundle in Klyachko's description
• "areIsomorphic(ToricVectorBundleKlyachko,ToricVectorBundleKlyachko)" -- see areIsomorphic -- checks if two vector bundles are isomorphic
• "base(ToricVectorBundleKlyachko)" -- see base -- the basis matrices for the rays
• cokernel(ToricVectorBundleKlyachko,Matrix) -- the cokernel of a morphism to a vector bundle
• "existsDecomposition(ToricVectorBundleKlyachko,List)" -- see existsDecomposition -- checks if a list of matrices of weight vectors for each maximal cone admits a decomposition
• "filtration(ToricVectorBundleKlyachko)" -- see filtration -- the filtration matrices of the vector bundle
• "findWeights(ToricVectorBundleKlyachko)" -- see findWeights -- finds the possible weight vectors for the maximal cones
• image(ToricVectorBundleKlyachko,Matrix) -- the image of a vector bundle under a morphism
• "isGeneral(ToricVectorBundleKlyachko)" -- see isGeneral -- checks whether a toric vector bundle is general
• "isomorphism(ToricVectorBundleKlyachko,ToricVectorBundleKlyachko)" -- see isomorphism -- the isomorphism if the two bundles are isomorphic
• kernel(ToricVectorBundleKlyachko,Matrix) -- the kernel of a morphism to a vector bundle
• net(ToricVectorBundleKlyachko) -- displays characteristics of a toric vector bundle in Klyachko's description
• "randomDeformation(ToricVectorBundleKlyachko,ZZ)" -- see randomDeformation -- a random deformation of a given toric vector bundle
• "randomDeformation(ToricVectorBundleKlyachko,ZZ,ZZ)" -- see randomDeformation -- a random deformation of a given toric vector bundle
• "twist(ToricVectorBundleKlyachko,List)" -- see twist -- twists a toric vector bundle with a line bundle

## For the programmer

The object ToricVectorBundleKlyachko is a type, with ancestor classes ToricVectorBundle < HashTable < Thing.