# intersectionProduct -- A class in the Chow ring of the ambient space representing the Fulton-MacPherson intersection product of two schemes inside a variety

## Synopsis

• Usage:
intersectionProduct(IX,IV,IY)
intersectionProduct(IX,IV,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}.
• IV, 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 smooth complete intersection in \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:
• intProd, , a class in the Chow ring A of \PP^{n_1}x...x\PP^{n_m} representing the Fulton-MacPherson intersection product of X with V in Y (where X is the scheme associated to IX, etc.).

## Description

For subschemes X,V of a smooth complete intersection subvariety Y of \PP^{n_1}x...x\PP^{n_m} this command computes the Fulton-MacPherson intersection product of X with V in Y as a class in the Chow ring of \PP^{n_1}x...x\PP^{n_m}. Note that this command requires that Y is a smooth complete intersection subvariety, however this is not checked internally.

 i1 : R = makeProductRing({3}) o1 = R o1 : PolynomialRing i2 : (x,y,z,w) = toSequence gens R o2 = (a, b, c, d) o2 : Sequence i3 : Q = ideal(x*y-z*w) o3 = ideal(a*b - c*d) o3 : Ideal of R i4 : L1 = ideal(x,w) o4 = ideal (a, d) o4 : Ideal of R i5 : L2 = ideal(y,w) o5 = ideal (b, d) o5 : Ideal of R i6 : intersectionProduct(L1,L2,Q,Verbose=>true) 2 2 [Y]= H H , alpha= 2H + 2H 1 2 1 2 3 3 Projective degrees= {7H H } 1 2 3 3 s(X,Y)= H H 1 2 3 Segre pullback to diagonal = H 1 2 Chern class = 2H + 2H + 1 1 1 3 o6 = H 1 ZZ[H ] 1 o6 : ------ 4 H 1 i7 : intersectionProduct(L1,L1,Q) o7 = 0

## Ways to use intersectionProduct :

• "intersectionProduct(Ideal,Ideal,Ideal)"
• "intersectionProduct(Ideal,Ideal,Ideal,QuotientRing)"

## For the programmer

The object intersectionProduct is .