Each of these functions creates a new ring of the form R[w_0,\ldots, w_r] or R[w_0,\ldots, w_r]/J, where R is the ring of the input ideal or module (except for specialFiber, which creates a ring $K[w_0,\ldots, w_r]$, where $K$ is the ultimate coefficient ring of the input ideal or module.) This option allows the user to change the names of the new variables in this ring. The default variable is w.
i1 : R = QQ[x,y,z]/ideal(x*y^2-z^9)
o1 = R
o1 : QuotientRing
|
i2 : J = ideal(x,y,z)
o2 = ideal (x, y, z)
o2 : Ideal of R
|
i3 : I = reesIdeal(J, Variable => p)
8 2 7 2
o3 = ideal (x*p - y*p , y*p - z*p , x*p - z*p , z p - y p , z p -
1 2 0 1 0 2 0 2 0
------------------------------------------------------------------------
6 3 2
y*p p , z p - p p )
1 2 0 1 2
o3 : Ideal of R[p ..p ]
0 2
|
i4 : describe ring I
o4 = R[p ..p , Degrees => {3:{1}}, Heft => {1, 0}, Join => false]
0 2 {1}
|
i5 : I1 = first flattenRing I
9 2 8 2 2 7
o5 = ideal (- z + x*y , p x - p y, p y - p z, p x - p z, p z - p y , p z -
1 2 0 1 0 2 0 2 0
------------------------------------------------------------------------
3 6 2
p p y, p z - p p )
1 2 0 1 2
o5 : Ideal of QQ[p ..p , x..z]
0 2
|
i6 : describe ring oo
o6 = QQ[p ..p , x..z, Degrees => {3:{1}, 3:{0}}, Heft => {0..1}, Join => false, MonomialOrder => {MonomialSize => 32}]
0 2 {1} {1} {GRevLex => {3:1} }
{Position => Up }
{GRevLex => {3:1} }
|
i7 : S = newRing(ring I1, Degrees=>{numgens ring I1:1})
o7 = S
o7 : PolynomialRing
|
i8 : describe S
o8 = QQ[p ..p , x..z, Degrees => {6:1}, Heft => {1}, Join => false, MonomialOrder => {MonomialSize => 32}]
0 2 {GRevLex => {3:1} }
{Position => Up }
{GRevLex => {3:1} }
|
i9 : I2 = sub(I1,vars S)
9 2 8 2 2 7
o9 = ideal (- z + x*y , p x - p y, p y - p z, p x - p z, p z - p y , p z -
1 2 0 1 0 2 0 2 0
------------------------------------------------------------------------
3 6 2
p p y, p z - p p )
1 2 0 1 2
o9 : Ideal of S
|
i10 : res I2
1 7 11 6 1
o10 = S <-- S <-- S <-- S <-- S <-- 0
0 1 2 3 4 5
o10 : ChainComplex
|