# lowerCentralSeries -- compute the lower central series of a set of vector fields

## Synopsis

• Usage:
L=lowerCentralSeries(k,M)
L=lowerCentralSeries(k,m)
• Inputs:
• k, an integer, a nonnegative integer
• M, , of vector fields
• m, , of vector fields
• Outputs:
• L, a list, a list containing m or M and the first k terms of the lower central series. The types of the terms of the list agrees with the input type.

## Description

Compute the first few terms of the lower central series of a set of vector fields. For an object $n$, if we define $n^{(0)}=n$ and $n^{(i+1)}=bracket(n,n^{(i)})$, then $n^{(i)}$ is the $i$th term of the lower central series, and will be in the $i$th index position of the returned list.

As with bracket, this function computes different things, depending on the type of the parameter. See differences between certain bracketing functions for more information.

The following Lie algebra is generated by a finite-dimensional representation of gl_2.

 i1 : R=QQ[a,b,c]; i2 : D=derlog(a*c-b^2) o2 = image | 2b a 0 0 | | c 0 b a | | 0 -c 2c 2b | 3 o2 : R-module, submodule of R

The lower central series (when provided with a Matrix) stabilizes as a representation of sl_2:

 i3 : lcs=lowerCentralSeries(2,gens D) o3 = {| 2b a 0 0 |, | 0 2b -2b -2a -2b 0 0 0 2b 0 0 0 2a 0 0 0 |, | | c 0 b a | | 0 c -c 0 -c 0 0 a c 0 0 -a 0 -a a 0 | | | 0 -c 2c 2b | | 0 0 0 2c 0 0 0 2b 0 0 0 -2b -2c -2b 2b 0 | | ------------------------------------------------------------------------ 0 0 0 -4b 0 0 0 -2a 0 0 0 2a 4b 2a -2a 0 0 -2b 2b 0 2b 0 0 0 -2b 0 0 0 0 0 -2c 0 0 0 0 0 0 0 0 2c 0 0 0 0 -c c 0 c 0 0 a -c 0 0 0 0 0 0 0 0 0 2c 0 0 0 -2c 0 -2c 2c 0 0 0 0 0 0 0 0 2b 0 0 0 ------------------------------------------------------------------------ 0 0 0 0 0 0 2b -2b 0 -2b 0 0 0 2b 0 0 0 0 0 0 0 0 2a -2a 0 -a 0 -a a 0 0 c -c 0 -c 0 0 -a c 0 0 a 0 a -a 0 0 0 0 2a -2b 0 -2b 2b 0 0 0 0 0 0 0 0 -2b 0 0 0 2b 0 2b -2b 0 0 -2c 2c 4b ------------------------------------------------------------------------ -2a 0 0 0 2a 0 0 0 0 0 0 0 |} 0 0 0 0 0 0 0 0 -2a 0 0 0 | 2c 0 0 0 -2c 0 0 0 -4b 0 0 0 | o3 : List i4 : apply(lcs,f->gens trim image f) o4 = {| 2b a 0 0 |, | 2b a 0 |, | 2b a 0 |} | c 0 b a | | c 0 a | | c 0 a | | 0 -c 2c 2b | | 0 -c 2b | | 0 -c 2b | o4 : List

The lower central series (when provided with a Module) stabilizes with a linear part isomorphic to sl_2, and a higher-order part equal to ideal (a,b,c)*D.

 i5 : lowerCentralSeries(2,D) o5 = {image | 2b a 0 0 |, image | 2b a 0 0 0 0 |, image | 2b a | c 0 b a | | c 0 a bc b2 0 | | c 0 | 0 -c 2c 2b | | 0 -c 2b 2c2 2bc b2-ac | | 0 -c ------------------------------------------------------------------------ 0 0 0 0 |} a bc b2 0 | 2b 2c2 2bc b2-ac | o5 : List i6 : trim((image commutator(gens D))+(ideal (a,b,c))*D) o6 = image | 2b a 0 0 0 0 | | c 0 a bc b2 0 | | 0 -c 2b 2c2 2bc b2-ac | 3 o6 : R-module, submodule of R

In this example, with 1 generator, the difference between the two versions is particularly stark.

 i7 : D=image matrix {{0},{a},{2*b}}; i8 : lowerCentralSeries(5,gens D) o8 = {| 0 |, 0, 0, 0, 0, 0} | a | | 2b | o8 : List i9 : lowerCentralSeries(5,D) o9 = {image | 0 |, image | 0 0 |, image | 0 0 |, image | 0 0 | a | | ab a2 | | a2 ab2 | | a2b a3 | 2b | | 2b2 2ab | | 2ab 2b3 | | 2ab2 2a2b ------------------------------------------------------------------------ 0 |, image | 0 0 0 |, image | 0 0 0 0 |} ab3 | | a3 a2b2 ab4 | | a3b a4 a2b3 ab5 | 2b4 | | 2a2b 2ab3 2b5 | | 2a2b2 2a3b 2ab4 2b6 | o9 : List