# 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 \PP^{n_1}x...x\PP^{n_m}; makeProductRing builds the graded coordinate ring of \PP^{n_1}x...x\PP^{n_m}.
• IY, an ideal, a multi-homogeneous ideal defining a closed subscheme of \PP^{n_1}x...x\PP^{n_m}; makeProductRing builds the graded coordinate ring of \PP^{n_1}x...x\PP^{n_m}.
• A, , the Chow ring of \PP^{n_1}x...x\PP^{n_m}. This ring can be built by applying makeChowRing to the coordinate ring of \PP^{n_1}x...x\PP^{n_m}.
• Optional inputs:
• Verbose (missing documentation) => , default value false,
• 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 \PP^{n_1}x...x\PP^{n_m}.

## Description

For subschemes X,Y of \PP^{n_1}x...x\PP^{n_m} 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 \PP^{n_1}x...x\PP^{n_m}. 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.24438 seconds 2 2 o6 = 2H + 4H H + 2H 1 1 2 2 o6 : A i7 : time segre(X,Y,A) -- used 0.168976 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)"

## For the programmer

The object segreDimX is .