This function is provided by the package Jets. Rings are constructed incrementally as towers. The function returns the ring with variables in the jets order requested, and coefficients in all lower orders. The grading or multigrading of the jets ring follows from that of the base ring.
i1 : R= QQ[x,y,z,Degrees=>{2,1,3}] o1 = R o1 : PolynomialRing |
i2 : JR= jets(2,R) o2 = JR o2 : PolynomialRing |
i3 : describe JR o3 = QQ[x0, y0, z0][x1, y1, z1][x2, y2, z2, Degrees => {2, 1, 3}, Heft => {1}, MonomialOrder => {MonomialSize => 32 }, DegreeRank => 1] {GRevLex => {2, 1, 3}} {Position => Up } |
i4 : degrees (flattenRing JR)_0 o4 = {{2}, {1}, {3}, {2}, {1}, {3}, {2}, {1}, {3}} o4 : List |
When the jets(...,Projective=>...) option is set to true, the degree of each jets variable matches the jets order, in accordance with Proposition 6.6 (c) of P. Vojta, Jets via Hasse-Schmidt Derivations.
i5 : R=QQ[x,y,z,Degrees=>{2,1,3}] o5 = R o5 : PolynomialRing |
i6 : JR= jets(2,R,Projective=>true) o6 = JR o6 : PolynomialRing |
i7 : degrees (flattenRing JR)_0 o7 = {{2}, {2}, {2}, {1}, {1}, {1}, {0}, {0}, {0}} o7 : List |
The convention for labeling variables in the jets of polynomial ring is to append the order of the jets to name of the variables in the base ring. Existing subscripts are preserved.
i8 : A=QQ[a_1..a_3] o8 = A o8 : PolynomialRing |
i9 : JA= jets(1,A) o9 = JA o9 : PolynomialRing |
i10 : describe JA o10 = QQ[a0 ..a0 ][a1 ..a1 , Degrees => {3:1}, Heft => {1}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1] 1 3 1 3 {GRevLex => {3:1} } {Position => Up } |
Note that the coefficient ring of the polynomial ring does not need to be a field. The jets of the input polynomial ring will be a polynomial ring with the same coefficient ring as the input.
i11 : Zi=ZZ[i]/ideal(i^2+1) o11 = Zi o11 : QuotientRing |
i12 : B=Zi[b_1..b_3] o12 = B o12 : PolynomialRing |
i13 : JB= jets(1,B) o13 = JB o13 : PolynomialRing |
i14 : describe JB o14 = Zi[b0 ..b0 ][b1 ..b1 , Degrees => {3:{1}}, Heft => {1, 0}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 2] 1 3 1 3 {0} {GRevLex => {3:1} } {Position => Up } |
With Projective=>true the jet variables of order zero have degree 0, therefore no heft vector exist for the ambient ring of the jets. As a result, certain computations will not be supported, and others may run more slowly. See heft vectors for more information.