If $X$ is an abstract variety and its tautological line bundle has already been built, it is stored in X.TautologicalLineBundle. However, because building this bundle can be computationally intensive, it is often not built unless it is requested by tautologicalLineBundle. The programmer is warned not to make direct reference to this key for this reason.
i1 : X = abstractProjectiveSpace 3 o1 = X o1 : a flag bundle with subquotient ranks {1, 3} |
i2 : try X.TautologicalLineBundle else print "bundle not found" bundle not found |
i3 : L = tautologicalLineBundle X o3 = L o3 : an abstract sheaf of rank 1 on X |
i4 : L === X.TautologicalLineBundle o4 = true |
i5 : rank L o5 = 1 |
i6 : chern L o6 = 1 + H 2,1 QQ[][h, H ..H ] 2,1 2,3 o6 : ------------------------------------------------------- (- h - H , - h*H - H , - h*H - H , -h*H ) 2,1 2,1 2,2 2,2 2,3 2,3 |
Here are the preferred ways to get the tautological line bundle:
i7 : OO_X(1) o7 = L o7 : an abstract sheaf of rank 1 on X |
i8 : L === oo o8 = true |
i9 : tautologicalLineBundle X o9 = L o9 : an abstract sheaf of rank 1 on X |
i10 : L === oo o10 = true |
The object TautologicalLineBundle is a symbol.