# intersectionRing(NormalToricVariety,AbstractVariety) -- make the rational Chow ring

## Description

The rational Chow ring of a variety X is an associative commutative ring graded by codimension. The k-th graded component of this ring is the rational vector space spanned by the rational equivalence classes of subvarieties in X having codimension k. For generically transverse subvarieties Y and Z in X, the product satisfies [Y][Z] = [Y ∩Z].

For a complete simplicial normal toric variety, the rational Chow ring has an explicit presentation. Specifically, it is the quotient of the polynomial ring with variables indexed by the set of rays in the underlying fan by the sum of two ideals. The first ideal is the Stanley-Reisner ideal of the fan (equivalently the Alexander dual of the irrelevant ideal) and the second ideal is generated by linear forms that encode the rays(NormalToricVariety) in the fan. In this context, the rational Chow ring is isomorphic to the rational cohomology of X.

The rational Chow ring of projective space is generated by the rational equivalence class of a hyperplane.

 `i1 : PP3 = toricProjectiveSpace 3;` ```i2 : A0 = intersectionRing PP3 o2 = A0 o2 : QuotientRing``` `i3 : assert (# rays PP3 === numgens A0)` ```i4 : ideal A0 o4 = ideal (t t t t , - t + t , - t + t , - t + t ) 0 1 2 3 0 1 0 2 0 3 o4 : Ideal of QQ[][t , t , t , t ] 0 1 2 3``` ```i5 : dual monomialIdeal PP3 + ideal ((vars ring PP3) * matrix rays PP3) o5 = ideal (x x x x , - x + x , - x + x , - x + x ) 0 1 2 3 0 1 0 2 0 3 o5 : Ideal of QQ[x , x , x , x ] 0 1 2 3``` ```i6 : minimalPresentation A0 QQ[t ] 3 o6 = ------ 4 t 3 o6 : QuotientRing``` ```i7 : for i to dim PP3 list hilbertFunction (i, A0) o7 = {1, 1, 1, 1} o7 : List```

The rational Chow ring for the product of two projective spaces is the tensor product of the rational Chow rings of the factors.

 `i8 : X = toricProjectiveSpace (2) ** toricProjectiveSpace (3);` ```i9 : A1 = intersectionRing X o9 = A1 o9 : QuotientRing``` `i10 : assert (# rays X === numgens A1)` ```i11 : ideal A1 o11 = ideal (t t t , t t t t , - t + t , - t + t , - t + t , - t + t , - 0 1 2 3 4 5 6 0 1 0 2 3 4 3 5 ----------------------------------------------------------------------- t + t ) 3 6 o11 : Ideal of QQ[][t , t , t , t , t , t , t ] 0 1 2 3 4 5 6``` ```i12 : minimalPresentation A1 QQ[t , t ] 2 6 o12 = ---------- 3 4 (t , t ) 2 6 o12 : QuotientRing``` ```i13 : for i to dim X list hilbertFunction (i, A1) o13 = {1, 2, 3, 3, 2, 1} o13 : List```