# Intersection Theory Section 5.4.1-2 -- Chern class computations on projective space

Subsection 5.4.1 - Universal bundles on projective space

We have two different methods in Schubert2 for producing projective spaces. We have already seen one method: build $\mathbb{P}^n$ as a Grassmannian:

 i1 : P3 = flagBundle({1,3}) o1 = P3 o1 : a flag bundle with subquotient ranks {1, 3} i2 : (S,Q) = P3.Bundles o2 = (S, Q) o2 : Sequence

In this setting, the the bundle $O(1)$ is the dual of the universal subbundle $S$.

 i3 : O1 = dual(S) o3 = O1 o3 : an abstract sheaf of rank 1 on P3 i4 : chern O1 o4 = 1 + H 2,1 QQ[][H , H ..H ] 1,1 2,1 2,3 o4 : ---------------------------------------------------------------- (- H - H , - H H - H , - H H - H , -H H ) 1,1 2,1 1,1 2,1 2,2 1,1 2,2 2,3 1,1 2,3

Now, Schubert2 also comes with a built-in function abstractProjectiveSpace for making projective spaces. Using {/tt abstractProjectiveSpace} to build $\mathbb{P}^n$ is nice, because the resulting Chow ring is presented as a truncated polynomial ring in one variable, rather than as a ring with $n+1$ generators. But, be careful: this built-in actually produces the projective space of 1-quotients. For example:

 i5 : P3' = abstractProjectiveSpace 3 o5 = P3' o5 : a flag bundle with subquotient ranks {1, 3} i6 : (S',Q') = P3'.Bundles o6 = (S', Q') o6 : Sequence i7 : chern S' o7 = 1 - H 2,1 QQ[][h, H ..H ] 2,1 2,3 o7 : ------------------------------------------------------- (- h - H , - h*H - H , - h*H - H , -h*H ) 2,1 2,1 2,2 2,2 2,3 2,3 i8 : chern Q' -- Q' is O(1) on P3' o8 = 1 + H + H + H 2,1 2,2 2,3 QQ[][h, H ..H ] 2,1 2,3 o8 : ------------------------------------------------------- (- h - H , - h*H - H , - h*H - H , -h*H ) 2,1 2,1 2,2 2,2 2,3 2,3

For the rest of this section, we will use the flagBundle method to produce $\mathbb{P}^n$, in order to be consistent with the choices in the book.

Subsection 5.4.2

The tangent bundle to projective space comes built-in in Schubert2. It can be accessed via the tangentBundle method:

 i9 : T = tangentBundle(P3) o9 = T o9 : an abstract sheaf of rank 3 on P3 i10 : chern T o10 = 1 + 4H + 6H + 4H 2,1 2,2 2,3 QQ[][H , H ..H ] 1,1 2,1 2,3 o10 : ---------------------------------------------------------------- (- H - H , - H H - H , - H H - H , -H H ) 1,1 2,1 1,1 2,1 2,2 1,1 2,2 2,3 1,1 2,3

We can also produce the tangent bundle to $\mathbb{P}^n$ ourselves by using the Euler exact sequence:

 i11 : TP3 = (4 * O1) - 1 o11 = T o11 : an abstract sheaf of rank 3 on P3 i12 : chern T == chern TP3 o12 = true i13 : rank T == rank TP3 o13 = true

Note how Schubert2 treats integers in a bundle computation as copies of a trivial bundle. See AbstractSheaf * AbstractSheaf and AbstractSheaf - AbstractSheaf, for example, for more information.