Macaulay2 » Documentation
Packages » VectorFields :: differences between certain bracketing functions
next | previous | forward | backward | up | index | toc

differences between certain bracketing functions -- The difference between certain bracketing functions

This package contains a variety of functions that calculate or work with brackets, including bracket, commutator, derivedSeries, and lowerCentralSeries. Each function has two variants: those that work on only the provided vector fields, and those that work on a module of vector fields. The former type accept a Matrix as the parameter, while the latter type accept a Module as the parameter.

The documentation for each function explains what is calculated, and how.

Here is an example to illustrate the difference.

i1 : R=QQ[x,y];
i2 : D=gens derlog(ideal (x*y))

o2 = | x 0 |
     | 0 y |

             2      2
o2 : Matrix R  <-- R
i3 : bracket(D,D)

o3 = 0

             2      4
o3 : Matrix R  <-- R
i4 : commutator(D)

o4 = 0

             2      1
o4 : Matrix R  <-- R

The generating vector fields of D commute but not all pairs of elements from the module D are commutative:

i5 : co1=commutator(D|x*D|y*D)

o5 = | 0 x2 0 0  0 0   0 xy -x2y x2y  0 0  0 0   -xy2 |
     | 0 0  0 xy 0 x2y 0 0  0    -xy2 0 y2 0 xy2 0    |

             2      15
o5 : Matrix R  <-- R
i6 : commutator(D|x*D|y*D|x^2*D|x*y*D|y^2*D)

o6 = | 0 x2 0 0  0 0   0 xy -x2y x2y  0 0  0 0   -xy2 2x3 0 x4 0    2x3y 0
     | 0 0  0 xy 0 x2y 0 0  0    -xy2 0 y2 0 xy2 0    0   0 0  -x3y 0    0
     ------------------------------------------------------------------------
     0    0 0    0 -x3y  0     0    x2y x2y 0 x3y   x2y2 x2y2 -x4y x4y    0  
     2x2y 0 2x3y 0 2x2y2 -x2y2 2x4y 0   0   0 -x2y2 0    0    0    -2x3y2 xy2
     ------------------------------------------------------------------------
     0   0    0    -x2y2 0 0    0    -x3y2 0 2xy2 -x2y2 2x2y2 0 2xy3 -2x3y2
     xy2 x2y2 x2y2 xy3   0 x3y2 x3y2 x2y3  0 0    0     -xy3  0 0    0     
     ------------------------------------------------------------------------
     2x3y2  -x2y3 2x2y3 0 0   0 0    -xy3 0  0 0     -x2y3 0   -2xy4 |
     -2x2y3 0     -xy4  0 2y3 0 2xy3 0    y4 0 2x2y3 0     xy4 0     |

             2      66
o6 : Matrix R  <-- R

In this case only the first-order terms are necessary to achieve the results calculated by the Module versions of the functions:

i7 : bracket(image D,image D)

o7 = image | 0 0 0 0 x2 0  0 0 0 0 xy 0  x2 0  0 0 0 0 xy 0  |
           | 0 0 0 0 0  xy 0 0 0 0 0  y2 0  xy 0 0 0 0 0  y2 |

                             2
o7 : R-module, submodule of R
i8 : commutator(image D)

o8 = image | 0 x2 0  0 0 0 0 xy 0  |
           | 0 0  xy 0 0 0 0 0  y2 |

                             2
o8 : R-module, submodule of R
i9 : bracket(image D,image D)==image co1

o9 = true
i10 : commutator(image D)==image co1

o10 = true

See also