Macaulay2 » Documentation
Packages » Jets » jets » jets(ZZ,PolynomialRing)
next | previous | forward | backward | up | index | toc

# jets(ZZ,PolynomialRing) -- compute jets of a polynomial ring

- Function: jets
- Usage:
    `jets (n,R)`
- Inputs:
  - n, an integer,
  - R, a polynomial ring,
- Optional inputs:
  - Projective => ..., default value false, Option for jets
- Outputs:
  - a polynomial ring, of jets order n.

## Description

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}, Join => false, MonomialOrder => {MonomialSize => 32  }]
                                                                                                                   {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}, Join => false]
               1    3    1    3

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}, Join => false]
               1    3    1    3                {0}

## Caveat

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.

## Ways to use this method:

- jets(ZZ,PolynomialRing) -- compute jets of a polynomial ring

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Jets.m2:1666:0.