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 description 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_1u_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(i1)$. 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 jth entry of the filtration matrix is i then the jth basis vector appears at the ith 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 twodimensional. 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
