This function is provided by the package Jets.
Jets of graphs are defined in ยง 2 of F. Galetto, E. Helmick, and M. Walsh, Jet graphs. The input is of type Graph as defined by the EdgeIdeals package, which is automatically exported when loading Jets.
i1 : R= QQ[x,y,z] o1 = R o1 : PolynomialRing |
i2 : G= graph(R,{{x,y},{y,z}}) o2 = Graph{edges => {{x, y}, {y, z}}} ring => R vertices => {x, y, z} o2 : Graph |
i3 : JG= jets(2,G) o3 = Graph{edges => {{x1, y1}, {y1, z1}, {y2, x0}, {y1, x0}, {x2, y0}, {z2, y0}, {x1, y0}, {z1, y0}, {x0, y0}, {y2, z0}, {y1, z0}, {y0, z0}}} ring => QQ[x2, y2, z2, x1, y1, z1, x0, y0, z0] vertices => {x2, y2, z2, x1, y1, z1, x0, y0, z0} o3 : Graph |
i4 : vertexCovers JG o4 = {y2*y1*y0, x2*z2*x1*z1*x0*z0, y1*x0*y0*z0, x1*z1*x0*y0*z0} o4 : List |
We can also calculate the jets of a HyperGraph.
i5 : R= QQ[u,v,w,x,y,z] o5 = R o5 : PolynomialRing |
i6 : H= hyperGraph(R,{{u},{v,w},{x,y,z}}) o6 = HyperGraph{edges => {{u}, {v, w}, {x, y, z}}} ring => R vertices => {u, v, w, x, y, z} o6 : HyperGraph |
i7 : jets(1,H) o7 = HyperGraph{edges => {{u1}, {u0}, {w1, v0}, {v1, w0}, {v0, w0}, {z1, x0, y0}, {y1, x0, z0}, {x1, y0, z0}, {x0, y0, z0}}} ring => QQ[u1, v1, w1, x1, y1, z1, u0, v0, w0, x0, y0, z0] vertices => {u1, v1, w1, x1, y1, z1, u0, v0, w0, x0, y0, z0} o7 : HyperGraph |
Rings of jets are usually constructed as towers of rings with tiers corresponding to jets of different orders. However, the tower is flattened out before constructing the edge ideal of the jets of a (hyper)graph. This is done in order to ensure compatibility with the EdgeIdeals package.