# projectiveDegree -- This method computes a single projective degree of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces

## Synopsis

• Usage:
projectiveDegree(IX,IY,h)
• Inputs:
• IX, an ideal, a multi-homogeneous ideal defining a closed subscheme of ℙn1x...xℙnm; makeProductRing builds the graded coordinate ring of ℙn1x...xℙnm.
• IY, an ideal, a multi-homogeneous ideal defining a closed subscheme of ℙn1x...xℙnm; makeProductRing builds the graded coordinate ring of ℙn1x...xℙnm.
• h, , an element of the Chow ring of ℙn1x...xℙnm. This ring can be built by applying makeChowRing to the coordinate ring of ℙn1x...xℙnm.
• Optional inputs:
• Verbose =>
• Outputs:
• pd, , a projective degree associated to h of a subscheme X defined by IX in the subscheme Y defined by IY as classes in the Chow ring A of ℙn1x...xℙnm.

## Description

For subschemes X, Y of ℙn1x...xℙnm this command computes a projective degree associated to h of a subscheme X in the subscheme Y as classes in the Chow ring of ℙn1x...xℙnm. The value returned is an integer. This method is faster if only one projective degree is needed.

 ```i1 : R = makeProductRing({3,3}) o1 = R o1 : PolynomialRing``` ```i2 : x = gens(R) o2 = {a, b, c, d, e, f, g, h} o2 : List``` ```i3 : D = minors(2,matrix{{x_0..x_3},{x_4..x_7}}) o3 = ideal (- b*e + a*f, - c*e + a*g, - c*f + b*g, - d*e + a*h, - d*f + b*h, ------------------------------------------------------------------------ - d*g + c*h) o3 : Ideal of R``` ```i4 : X = ideal(x_0*x_1,x_1*x_2,x_0*x_2) o4 = ideal (a*b, b*c, a*c) o4 : Ideal of R``` ```i5 : A = makeChowRing(R) o5 = A o5 : QuotientRing``` ```i6 : pd = projectiveDegrees(X,D,A) 3 3 2 3 3 2 3 2 2 3 o6 = {10H H , 6H H , 6H H , 3H H , 3H H , 3H H } 1 2 1 2 1 2 1 2 1 2 1 2 o6 : List``` ```i7 : h=A_0^2*A_1^2 2 2 o7 = H H 1 2 o7 : A``` ```i8 : pdh=projectiveDegree(X,D,h) o8 = 3``` ```i9 : (sum pd)_h==pdh o9 = true```

## Ways to use projectiveDegree :

• projectiveDegree(Ideal,Ideal,RingElement)