If R is an Artinian Gorenstein k-algebra, then the Macaulay inverse system of R is generated by a single polynomial (in dual/differential variables), called the cogenerator (or dual socle generator) of R. By a result of Adiprasito, Katz, and Huh, the Chow ring of a matroid M is always Gorenstein. This function computes the cogenerator of the Chow ring of M, which is also called the volume polynomial of M. Note that this is a very fine invariant of M - indeed, this single polynomial can recover the entire Chow ring of M, and thus most of the lattice of flats of M.
i1 : M = matroid completeGraph 4 o1 = a matroid of rank 3 on 6 elements o1 : Matroid |
i2 : I = idealChowRing M; o2 : Ideal of QQ[x , x , x , x , x , x , x , x , x , x , x , x , x ] {5} {4} {3} {2} {1} {0} {0, 5} {1, 4} {2, 3} {3, 4, 5} {1, 2, 5} {0, 2, 4} {0, 1, 3} |
i3 : betti I 0 1 o3 = total: 1 65 0: 1 5 1: . 60 o3 : BettiTally |
i4 : F = cogeneratorChowRing M 2 2 2 2 2 2 o4 = 2t + 2t + 2t + 2t + 2t + 2t - 2t t - 2t t {5} {4} {3} {2} {1} {0} {5} {0, 5} {0} {0, ------------------------------------------------------------------------ 2 2 + t - 2t t - 2t t + t - 2t t - 5} {0, 5} {4} {1, 4} {1} {1, 4} {1, 4} {3} {2, 3} ------------------------------------------------------------------------ 2 2t t + t - 2t t - 2t t - 2t t {2} {2, 3} {2, 3} {5} {3, 4, 5} {4} {3, 4, 5} {3} {3, ------------------------------------------------------------------------ 2 + t - 2t t - 2t t - 2t t 4, 5} {3, 4, 5} {5} {1, 2, 5} {2} {1, 2, 5} {1} {1, 2, 5} ------------------------------------------------------------------------ 2 + t - 2t t - 2t t - 2t t + {1, 2, 5} {4} {0, 2, 4} {2} {0, 2, 4} {0} {0, 2, 4} ------------------------------------------------------------------------ 2 2 t - 2t t - 2t t - 2t t + t {0, 2, 4} {3} {0, 1, 3} {1} {0, 1, 3} {0} {0, 1, 3} {0, ------------------------------------------------------------------------ 1, 3} o4 : QQ[t , t , t , t , t , t , t , t , t , t , t , t , t ] {5} {4} {3} {2} {1} {0} {0, 5} {1, 4} {2, 3} {3, 4, 5} {1, 2, 5} {0, 2, 4} {0, 1, 3} |
i5 : T = ring F o5 = T o5 : PolynomialRing |
i6 : diff(gens((map(T, ring I, gens T)) I), F) o6 = 0 1 65 o6 : Matrix T <--- T |
The object cogeneratorChowRing is a method function.