This function is provided by the package Jets.
i1 : R= QQ[x,y,z] o1 = R o1 : PolynomialRing |
i2 : S= QQ[t] o2 = S o2 : PolynomialRing |
i3 : f= map(S,R,{t,t^2,t^3})
2 3
o3 = map (S, R, {t, t , t })
o3 : RingMap S <--- R
|
i4 : Jf= jets(2,f); o4 : RingMap QQ[t0][t1][t2] <--- QQ[x0, y0, z0][x1, y1, z1][x2, y2, z2] |
i5 : matrix Jf
o5 = | t2 2t0t2+t1^2 3t0^2t2+3t0t1^2 t1 2t0t1 3t0^2t1 t0 t0^2 t0^3 |
1 9
o5 : Matrix (QQ[t0][t1][t2]) <--- (QQ[t0][t1][t2])
|
This function can also be applied when the source and/or the target of the ring homomorphism are quotients of a polynomial ring
i6 : I= ideal(y-x^2,z-x^3)
2 3
o6 = ideal (- x + y, - x + z)
o6 : Ideal of R
|
i7 : Q= R/I o7 = Q o7 : QuotientRing |
i8 : g= map(S,Q,{t,t^2,t^3})
2 3
o8 = map (S, Q, {t, t , t })
o8 : RingMap S <--- Q
|
i9 : isWellDefined g o9 = true |
i10 : Jg= jets(2,g);
QQ[x0, y0, z0][x1, y1, z1][x2, y2, z2]
o10 : RingMap QQ[t0][t1][t2] <--- ----------------------------------------------------------------------------------------------------
2 2 2 2 2 3
(- 2x0*x2 + y2 - x1 , - 2x0*x1 + y1, - x0 + y0, - 3x0 x2 + z2 - 3x0*x1 , - 3x0 x1 + z1, - x0 + z0)
|
i11 : isWellDefined Jg o11 = true |