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

## Synopsis

• Usage:
segre(IX,IY)
segre(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 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 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}.

 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 : segre(X,D) 3 3 3 2 2 3 o5 = - 10H H + 3H H + 3H H 1 2 1 2 1 2 ZZ[H ..H ] 1 2 o5 : ---------- 4 4 (H , H ) 1 2 i6 : A = makeChowRing(R) o6 = A o6 : QuotientRing i7 : s = segre(X,D,A) 3 3 3 2 2 3 o7 = - 10H H + 3H H + 3H H 1 2 1 2 1 2 o7 : A

## Ways to use segre :

• "segre(Ideal,Ideal)"
• "segre(Ideal,Ideal,QuotientRing)"

## For the programmer

The object segre is .