If $f: A \to B$ is a ring map, and $B$ is finitely generated as an $A$-module, then the function returns a sequence $(M, g, pf)$ containing (1) $M \cong B^1$ as $A$-modules, (2) a 1-row matrix $g$ of elements of B whose entries generate B as A-module, (3) a function $pf$ that assigns to each element $b \in B$, a matrix $A^1 \to M$, where the image of 1 is the element $b \in M$.
i1 : kk = QQ; |
i2 : S = kk[a..d]; |
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 : B = S/I o4 = B o4 : QuotientRing |
i5 : A = kk[a,d]; |
i6 : f = map(B,A)
o6 = map (B, A, {a, d})
o6 : RingMap B <--- A
|
i7 : (M,g,pf) = pushFwd f; |
i8 : M
o8 = cokernel {0} | 0 |
{1} | 0 |
{2} | -d |
{1} | 0 |
{2} | a |
5
o8 : A-module, quotient of A
|
i9 : g
o9 = | 1 b b2 c c2 |
1 5
o9 : Matrix B <--- B
|
i10 : use B o10 = B o10 : QuotientRing |
i11 : pf(a*b - c^2)
o11 = {0} | 0 |
{1} | a |
{2} | 0 |
{1} | 0 |
{2} | -1 |
o11 : Matrix
|
This function is meant to be internally used.