If the argument for janetBasis is a matrix or an ideal or a Groebner basis, then J is a Janet basis for (the module generated by) M.
If the arguments for janetBasis are a chain complex and an integer, where C is the result of either janetResolution or resolution called with the optional argument 'Strategy => Involutive', then J is the Janet basis extracted from the n-th differential of C.
i1 : R = QQ[x,y] o1 = R o1 : PolynomialRing |
i2 : I = ideal(x^3,y^2) 3 2 o2 = ideal (x , y ) o2 : Ideal of R |
i3 : J = janetBasis I; |
i4 : basisElements J o4 = | y2 xy2 x3 x2y2 | 1 4 o4 : Matrix R <--- R |
i5 : multVar J o5 = {set {y}, set {y}, set {y, x}, set {y}} o5 : List |
i6 : R = QQ[x,y] o6 = R o6 : PolynomialRing |
i7 : M = matrix {{x*y-y^3, x*y^2, x*y-x}, {x, y^2, x}} o7 = | -y3+xy xy2 xy-x | | x y2 x | 2 3 o7 : Matrix R <--- R |
i8 : J = janetBasis M; |
i9 : basisElements J o9 = | y3-x xy-x x2y-x2 x3 -x x2 -x2 0 | | 0 x x2 x2 xy-y2+x y3 x2y-xy2+x2 x3+2x2+y2 | 2 8 o9 : Matrix R <--- R |
i10 : multVar J o10 = {set {y}, set {y}, set {y}, set {y, x}, set {y}, set {y}, set {y}, set ----------------------------------------------------------------------- {y, x}} o10 : List |
i11 : R = QQ[x,y,z] o11 = R o11 : PolynomialRing |
i12 : I = ideal(x,y,z) o12 = ideal (x, y, z) o12 : Ideal of R |
i13 : C = res(I, Strategy => Involutive) 1 3 3 1 o13 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o13 : ChainComplex |
i14 : janetBasis(C, 2) o14 = InvolutiveBasis{0 => {1} | -y -z 0 | } {1} | x 0 -z | {1} | 0 x y | 1 => {HashTable{x => 1}, HashTable{x => 1}, HashTable{x => 0}} y => 1 y => 1 y => 1 z => 1 z => 1 z => 1 o14 : InvolutiveBasis |