# Singular

#### D.15.24.7 projectiveBundle

Procedure from library `schubert.lib` (see schubert_lib).

Usage:
projectiveBundle(S); S sheaf

Input:
a sheaf on an abstract variety

Return:
variety

Theory:
create a projective bundle as an abstract variety. This is related to the enumeration of conics.

Example:
 ```LIB "schubert.lib"; variety G = Grassmannian(3,5); def r = G.baseRing; setring r; sheaf S = makeSheaf(G,subBundle); sheaf B = dualSheaf(S)^2; variety PB = projectiveBundle(B); PB; ==> A variety of dimension 11 ==> def R = PB.baseRing; setring R; QuotientBundle; ==> 1/1995840*z^5*q(2)^3-1/120960*z^5*q(1)*q(2)^2+1/20160*z^5*q(1)^2*q(2)+1/4\ 0320*z^5*q(2)^2-1/10080*z^5*q(1)^3-1/2688*z^5*q(1)*q(2)+1/840*z^5*q(1)^2+\ 1/1008*z^5*q(2)-1/180*z^5*q(1)+1/120*z^5-1/36288*z^4*q(2)^3+5/12096*z^4*q\ (1)*q(2)^2-1/448*z^4*q(1)^2*q(2)+5/8064*z^4*q(2)^2+1/252*z^4*q(1)^3+1/100\ 8*z^4*q(1)*q(2)-1/72*z^4*q(1)^2+1/144*z^4*q(2)+1/24*z^4+43/72576*z^3*q(2)\ ^3-47/8064*z^3*q(1)*q(2)^2+11/504*z^3*q(1)^2*q(2)-1/84*z^3*q(2)^2-1/36*z^\ 3*q(1)^3+5/144*z^3*q(1)*q(2)+1/6*z^3-1/192*z^2*q(2)^3+1/36*z^2*q(1)*q(2)^\ 2-1/24*z^2*q(1)^2*q(2)+1/36*z^2*q(2)^2+1/2*z^2+1/63*z*q(2)^3-1/36*z*q(1)*\ q(2)^2+z+1 ChowRing(PB); ==> // characteristic : 0 ==> // number of vars : 3 ==> // block 1 : ordering lp ==> // : names z ==> // block 2 : ordering wp ==> // : names q(1) q(2) ==> // : weights 1 2 ==> // block 3 : ordering C ==> // quotient ring from ideal ... ```