i1 : kk = QQ
o1 = QQ
o1 : Ring
|
i2 : S = kk[a..d]
o2 = S
o2 : PolynomialRing
|
i3 : I = monomialCurveIdeal(S, {1,3,4})
3 2 2 2 3 2
o3 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c)
o3 : Ideal of S
|
i4 : R = S/I
o4 = R
o4 : QuotientRing
|
i5 : A = kk[a,d]
o5 = A
o5 : PolynomialRing
|
i6 : use R
o6 = R
o6 : QuotientRing
|
i7 : F = map(R,A)
o7 = map(R,A,{a, d})
o7 : RingMap R <--- A
|
i8 : (M,g,pf) = pushFwd F;
|
i9 : M
o9 = cokernel {0} | 0 |
{1} | 0 |
{2} | -d |
{1} | 0 |
{2} | a |
5
o9 : A-module, quotient of A
|
i10 : g
o10 = | 1 b b2 c c2 |
1 5
o10 : Matrix R <--- R
|
i11 : pf(a*b - c^2)
o11 = {0} | 0 |
{1} | a |
{2} | 0 |
{1} | 0 |
{2} | -1 |
o11 : Matrix
|
In a previous version of this package, the third output was a function which assigned to each element of the target of
its representation as an element of a free module which surjected onto the pushed forward module.