# Cox rings

## Cox rings of linear quotients

By a theorem of Arzhantsev and Gaifullin [AG10], the Cox ring of a linear quotient $V/G$ is graded isomorphic to the invariant ring $K[V]^{[G,G]}$, where $[G,G]$ is the derived subgroup of $G$.

`cox_ring`

— Method`cox_ring(L::LinearQuotient)`

Return the Cox ring of the linear quotient `L`

in a presentation as a graded affine algebra (`MPolyQuoRing`

) and an injective map from this ring into a polynomial ring.

Let `G = group(L)`

and let `H`

be the subgroup generated by the pseudo-reflections contained in `G`

. By a theorem of Arzhantsev–Gaifullin [AG10], the Cox ring is graded isomorphic to the invariant ring of the group `H[G,G]`

, where `[G,G]`

is the derived subgroup of `G`

. We use ideas from [DK17] to find homogeneous generators of the invariant ring. To get a map from `group(G)`

to the grading group of the returned ring, use `class_group`

.

This function is part of the experimental code in Oscar. Please read here for more details.

## Cox rings of $\mathbb Q$-factorial terminalizations

We provide an experimental algorithm to compute the Cox ring of a $\mathbb Q$-factorial terminalization $X\to V/G$ of a linear quotient due to [Yam18].

`cox_ring_of_qq_factorial_terminalization`

— Method`cox_ring_of_qq_factorial_terminalization(L::LinearQuotient)`

Return the Cox ring of a QQ-factorial terminalization of the linear quotient `L`

in a presentation as a graded affine algebra (`MPolyQuoRing`

) and an injective map from this ring into a Laurent polynomial ring using the algorithm from [Yam18].