# getGVDIdeal -- computes the $C_{y,I}$ or $N_{y,I}$ ideal at any point in the GVD recursion tree

## Synopsis

• Usage:
getGVDIdeal(I, L)
• Inputs:
• I, an ideal,
• L, a list, a nested list where each list within L is of length two, the first entry is either "C" or "N" and the second entry is an indeterminate in the ring
• Optional inputs:
• CheckUnmixed => ..., default value true, check whether ideals encountered are unmixed
• Outputs:

## Description

The purpose of getGVDIdeal is to return the ideal generated by a sequence of choices of $C$ or $N$ ideals and corresponding choices of indeterminates $y$.

Given an ideal $I$ and variable $y_1$ in $R = k[x_1,\ldots,x_n]$, we can compute the ideals $C_{y_1,I}$ and $N_{y_1,I}$ (see isGVD for the definition of these ideals). But then for each of these ideals in the ring $R = k[x_1,\ldots,\hat{y_1},\ldots,x_n]$, we can then pick a new variable $y_2$ to form the ideals $C_{y_2,C_{y_1,I}}$, $C_{y_2,N_{y_1,I}}$, $N_{y_2,C_{y_1,I}}$ or $N_{y_2,N_{y_1,I}}$. This process can be continued by now picking a new variable $y_3$, and finding either the $C$ or $N$ ideals of these ideals.

The input syntax is best explained via example. The following is [KR, Example 2.16]. We are given the ideal $I$. The input tells us to first find $C_{y,I}$ of $I$. Then we find $N_{s,C_{y,I}}$.

 i1 : R = QQ[x,y,z,w,r,s] o1 = R o1 : PolynomialRing i2 : I = ideal(y*(z*s - x^2), y*w*r, w*r*(z^2+z*x+w*r+s^2)) 2 2 2 2 2 o2 = ideal (- x y + y*z*s, y*w*r, x*z*w*r + z w*r + w r + w*r*s ) o2 : Ideal of R i3 : getGVDIdeal(I, {{"C", y}, {"N", s}}) 2 2 2 2 2 o3 = {ideal (x*z*w*r + z w*r + w r + w*r*s , w*r, x - z*s), ideal(w*r)} o3 : List

## References

[KR] P. Klein and J. Rajchgot. Geometric Vertex Decomposition and Liaison. Forum of Math, Sigma, 9 (2021) e70:1-23.

• CyI -- computes the ideal $C_{y,I}$ for a given ideal and indeterminate
• NyI -- computes the ideal $N_{y,I}$ for a given ideal and indeterminate