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.