These methods implement the base change of rings. As input, one can either give a ring map $\phi$, or the ring $S$ (when there is a canonical map from $R$ to $S$).
i1 : R = QQ[x,y,z]
o1 = R
o1 : PolynomialRing
|
i2 : S = QQ[s,t]
o2 = S
o2 : PolynomialRing
|
i3 : phi = map(S, R, {s, s+t, t})
o3 = map (S, R, {s, s + t, t})
o3 : RingMap S <-- R
|
i4 : Rf = R/(x^3+y^3+z^3)
o4 = Rf
o4 : QuotientRing
|
i5 : C = tailMF ideal vars Rf
4 4 4
o5 = R <-- R <-- R
0 1 0
o5 : ZZdFactorization
|
i6 : D = phi ** C
4 4 4
o6 = S <-- S <-- S
0 1 0
o6 : ZZdFactorization
|
i7 : isdFactorization D
3 2 2 3
o7 = (true, 2s + 3s t + 3s*t + 2t )
o7 : Sequence
|
i8 : phi(potential C) == potential D
o8 = true
|
i9 : dd^D
4 4
o9 = 1 : S <---------------------------------------- S : 0
{5} | -s -t2 s2+2st+t2 0 |
{5} | -t s2 0 s2+2st+t2 |
{5} | s+t 0 s2 t2 |
{6} | 0 -s-t -t s |
4 4
0 : S <---------------------------------------- S : 1
{3} | -s2 -t2 s2+2st+t2 0 |
{4} | -t s 0 -s2-2st-t2 |
{4} | s+t 0 s -t2 |
{4} | 0 s+t t s2 |
o9 : ZZdFactorizationMap
|
i10 : f = randomFactorizationMap(C, C)
4 4
o10 = 0 : R <----------------------------------------------------------- R : 0
{3} | 9/2 9/4x+3/4y+7/4z 7/3x+7y+3/7z 2/9x+3/10y+3/7z |
{4} | 0 7/9 6/7 5 |
{4} | 0 7/10 6 10/9 |
{4} | 0 7/10 5/4 10 |
4 4
1 : R <--------------------------------------- R : 1
{5} | 3/2 5 7/2 5/7x+5/9y+5/3z |
{5} | 7/8 2/5 2/5 1/10x+4/3y+3/7z |
{5} | 5/6 5/3 6/5 9/10x+4/7y+5/9z |
{6} | 0 0 0 5/9 |
o10 : ZZdFactorizationMap
|
i11 : assert isWellDefined f
|
i12 : g = phi ** f
4 4
o12 = 0 : S <------------------------------------------------- S : 0
{3} | 9/2 3s+5/2t 28/3s+52/7t 47/90s+51/70t |
{4} | 0 7/9 6/7 5 |
{4} | 0 7/10 6 10/9 |
{4} | 0 7/10 5/4 10 |
4 4
1 : S <-------------------------------------- S : 1
{5} | 3/2 5 7/2 80/63s+20/9t |
{5} | 7/8 2/5 2/5 43/30s+37/21t |
{5} | 5/6 5/3 6/5 103/70s+71/63t |
{6} | 0 0 0 5/9 |
o12 : ZZdFactorizationMap
|
i13 : assert isWellDefined g
|
i14 : dd^(source g)
4 4
o14 = 1 : S <---------------------------------------- S : 0
{5} | -s -t2 s2+2st+t2 0 |
{5} | -t s2 0 s2+2st+t2 |
{5} | s+t 0 s2 t2 |
{6} | 0 -s-t -t s |
4 4
0 : S <---------------------------------------- S : 1
{3} | -s2 -t2 s2+2st+t2 0 |
{4} | -t s 0 -s2-2st-t2 |
{4} | s+t 0 s -t2 |
{4} | 0 s+t t s2 |
o14 : ZZdFactorizationMap
|
i15 : dd^(target g)
4 4
o15 = 1 : S <---------------------------------------- S : 0
{5} | -s -t2 s2+2st+t2 0 |
{5} | -t s2 0 s2+2st+t2 |
{5} | s+t 0 s2 t2 |
{6} | 0 -s-t -t s |
4 4
0 : S <---------------------------------------- S : 1
{3} | -s2 -t2 s2+2st+t2 0 |
{4} | -t s 0 -s2-2st-t2 |
{4} | s+t 0 s -t2 |
{4} | 0 s+t t s2 |
o15 : ZZdFactorizationMap
|