# pPartitionRing -- produces the p-partition ring of a poset

## Synopsis

• Usage:
R = pPartitionRing P
R = pPartitionRing(P, Strategy => "kernel")
R = pPartitionRing(P, Strategy => "4ti2")
• Inputs:
• P, an instance of the type Poset,
• Optional inputs:
• CoefficientRing => a ring, default value QQ
• Strategy => , default value "kernel", which specifies whether to use Macaulay2's native kernel method (Strategy => "kernel") or the package FourTiTwo (Strategy => "4ti2")
• Outputs:
• R, , the toric algebra which is isomorphic to the $P$-partition ring

## Description

Recall that a $P$-partition for a naturally labeled poset $P$ on vertices $1, \ldots, n$ is a function $f: P \rightarrow \mathbb{NN}$ which is order-reversing, i.e., if $i < j$ in $P$ then $f(i) \geq f(j)$ in $\mathbb{NN}$. To a $P$-partition $f$ we can assign the monomial $t_1^{f(1)} \ldots t_n^{f(n)}$. The $P$-partition ring is the ring spanned by the monomials corresponding to $P$-partitions.

The $P$-partition ring is more simply generated by the monomials corresponding to the connected order ideals of $P$. This method returns the toric quotient algebra, whose toric ideal is minimally generated, isomorphic to the $P$-partition ring.

 i1 : P = poset {{1,2}, {2,4}, {3,4}, {3,5}}; i2 : pPartitionRing P QQ[t , t , t , t , t , t ] {3} {3, 4} {0} {0, 1} {0, 1, 2, 3} {0, 1, 2, 3, 4} o2 = ----------------------------------------------------------------- t t - t t {3, 4} {0, 1, 2, 3} {3} {0, 1, 2, 3, 4} o2 : QuotientRing

In some cases, it may be faster to use the FourTiTwo method toricGroebner to generate the toric relations. Using the Strategy "4ti2" tells the method to use this approach.

 i3 : pPartitionRing(divisorPoset 6, Strategy => "4ti2") QQ[t , t , t , t , t ] {0} {0, 1} {0, 2} {0, 1, 2} {0, 1, 2, 3} o3 = ----------------------------------------------------- t t - t t {0, 1} {0, 2} {0} {0, 1, 2} o3 : QuotientRing