# beilinsonBundle -- compute a basic Beilinson bundle

## Synopsis

• Usage:
B=beilinsonBundle(i,whichblock,E)
B=beilinsonBundle(a,E)
• Inputs:
• i, an integer, 0 \le i \le n_{whichblock}
• whichblock, an integer, 0 \le whichblock \le r-1
• E, a ring, the exterior algebra or symmetric algebra
• a, a list, of integers \{a_0,...,a_{(r-1)} \}
• Optional inputs:
• BundleType => , default value PrunedQuotient, the possible values are SubBundle or PrunedQuotient
• Outputs:
• B, , a module over the symmetric algebra S

## Description

The first version computes a basic Beilinson bundle, i.e. the pullback of a Beilinson bundle from a single factor of a the product PP = P^{n_0} \times ... \times P^{n_{(r-1)}} of r projective spaces.

The second version computes the tensor product of the basic bundles beilinsonBundle(a_i,i,E) for i from 0 to r-1. See also Tate Resolutions on Products of Projective Spaces.

The vector bundle B is represented by its S-module of global sections, which is either the quotient or a submodule of a free S-modules depending on the value of the option BundleType.

The results are stashed in E.TateData.BeilinsonBundles, so they are not recomputed.

 i1 : (S,E) = productOfProjectiveSpaces {2,3} o1 = (S, E) o1 : Sequence i2 : B1=beilinsonBundle(1,0,E) o2 = cokernel {1, 0} | x_(0,2) | {1, 0} | -x_(0,1) | {1, 0} | x_(0,0) | 3 o2 : S-module, quotient of S i3 : B2=beilinsonBundle(1,1,E) o3 = cokernel {0, 1} | x_(1,2) x_(1,3) 0 0 | {0, 1} | -x_(1,1) 0 x_(1,3) 0 | {0, 1} | x_(1,0) 0 0 x_(1,3) | {0, 1} | 0 -x_(1,1) -x_(1,2) 0 | {0, 1} | 0 x_(1,0) 0 -x_(1,2) | {0, 1} | 0 0 x_(1,0) x_(1,1) | 6 o3 : S-module, quotient of S i4 : B=beilinsonBundle({1,1},E); betti B 0 1 o5 = total: 18 18 2: 18 18 o5 : BettiTally i6 : B1**B2 == B o6 = true