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 ℙ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 , H ] 1,1 2,1 2,2 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 ℙ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 , H ] 2,1 2,2 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 , H ] 2,1 2,2 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 ℙ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 , H ] 1,1 2,1 2,2 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 ℙ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.