# Implement intersection products

I am doing a counting problem, and it comes to compute intersection products ( Chow ring ) on some varieties. Is there any computer algebra that deals with this?

Schubert2 in Macaulay2 and the original maple package schubert let you build enough of the chow rings of parameter spaces to tackle some enumerative geometry problems like those of "Kalkül der abzählenden Geometrie" by H. Schubert (1879):

### Count the number of space conics intersecting 8 given lines

> with(schubert):

> grass(3,4,d,all):

> Proj(f,dual(symm(2,Qd)),e):

> integral(Gd,lowerstar(f,(2*d1+e)^8));

                                  92


(Example 3.2.22 of "Intersection Theory" by W. Fulton (1984))

It would help to know the context of your work better - what category are you working in?

I currently work computing arithmetic (Arakelov) intersection pairings on curves, for which I use magma, doing the actual calculations using either resultants or Grobner bases (at least at finite primes); all you are calculating are the lengths of modules, which is fairly standard for commutative algebra software I assume.

For Grassmannians, see Buch's Littlewood-Richardson calculator. Buch quantum calculator can compute quantum cohomology (and hence ordinary) on grassmannians, isotropic grassmannians and symplectic isotoropic grassmannians. Symmetrica can compute Schubert polynomials, and hence should be able to be coerced into computing in the cohomology ring of the flag manifold, although I don't know how easy or hard that is.