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
|