# segreDimX -- This method computes the dimension X part of the Segre class of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces

## Synopsis

• Usage:
segreDimX(IX,IY,A)
• 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.
• A, , 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:
• s, , the dimension X part of the Segre class of the subscheme X defined by IX in the subscheme Y defined by IY as a class in the Chow ring of ℙn1x...xℙnm.

## Description

For subschemes X,Y of ℙn1x...xℙnm this command computes the dimension X part of the Segre class s(X,Y) of X in Y as a class in the Chow ring of ℙn1x...xℙnm. This is faster than computing the entire Segre class.

 ```i1 : R = makeProductRing({2,2}) o1 = R o1 : PolynomialRing``` ```i2 : x = gens(R) o2 = {a, b, c, d, e, f} o2 : List``` ```i3 : Y = ideal(random({2,2},R)); o3 : Ideal of R``` ```i4 : X = Y+ideal(x_0*x_3+x_1*x_4); o4 : Ideal of R``` ```i5 : A = makeChowRing(R) o5 = A o5 : QuotientRing``` ```i6 : time s = segreDimX(X,Y,A) -- used 0.0341501 seconds 2 2 o6 = 2H + 4H H + 2H 1 1 2 2 o6 : A``` ```i7 : time segre(X,Y,A) -- used 0.0973529 seconds 2 2 2 2 2 2 o7 = 12H H - 6H H - 6H H + 2H + 4H H + 2H 1 2 1 2 1 2 1 1 2 2 o7 : A```

## Ways to use segreDimX :

• segreDimX(Ideal,Ideal,QuotientRing)