9.43 LiePolynomial

Declaration of domains

RN := Fraction Integer
\[\]
FractionInteger

Type: Domain

Lpoly := LiePolynomial(Symbol,RN)
\[\]
LiePolynomial(Symbol,FractionInteger)

Type: Domain

Dpoly := XDPOLY(Symbol,RN)
\[\]
XDistributedPolynomial(Symbol,FractionInteger)

Type: Domain

Lword := LyndonWord Symbol
\[\]
LyndonWordSymbol

Type: Domain

Initialisation

a:Symbol := 'a
\[\]
a

Type: Symbol

b:Symbol := 'b
\[\]
b

Type: Symbol

c:Symbol := 'c
\[\]
c

Type: Symbol

aa: Lpoly := a
\[\]
[a]

Type: LiePolynomial(Symbol,Fraction Integer)

bb: Lpoly := b
\[\]
[b]

Type: LiePolynomial(Symbol,Fraction Integer)

cc: Lpoly := c
\[\]
[c]

Type: LiePolynomial(Symbol,Fraction Integer)

p : Lpoly := [aa,bb]
\[\]
[ab]

Type: LiePolynomial(Symbol,Fraction Integer)

q : Lpoly := [p,bb]
\[\]
[ab2]

Type: LiePolynomial(Symbol,Fraction Integer)

All the Lyndon words of order 4

liste : List Lword := LyndonWordsList([a,b], 4)
\[\]
[[a],[b],[ab],[a2b],[ab2],[a3b],[a2b2],[ab3]]

Type: List LyndonWord Symbol

r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly
\[\]
[ab]+3[a2b]+[ab2]

Type: LiePolynomial(Symbol,Fraction Integer)

s:Lpoly := [p,r]
\[\]
-3[a2bab]+[abab2]

Type: LiePolynomial(Symbol,Fraction Integer)

t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)
\[\]
2[ab]-5[ab2]-3[a2bab]+[abab2]

Type: LiePolynomial(Symbol,Fraction Integer)

degree t
\[\]
5

Type: PositiveInteger

mirror t
\[\]
-2[ab]-5[ab2]-3[a2bab]+[abab2]

Type: LiePolynomial(Symbol,Fraction Integer)

Jacobi Relation

Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == [ [p,q]$Lpoly, r] + [

[q,r]$Lpoly, p] + [ [r,p]$Lpoly, q]

Function declaration Jacobi : (
  LiePolynomial(Symbol,  Fraction Integer),
  LiePolynomial(Symbol,Fraction Integer),
  LiePolynomial(Symbol,Fraction Integer)) ->
    LiePolynomial(Symbol,Fraction Integer)
  has been added to workspace.

Void

Tests

test: Lpoly := Jacobi(a,b,b)
\[\]
0

Type: LiePolynomial(Symbol,Fraction Integer)

test: Lpoly := Jacobi(p,q,r)
\[\]
0

Type: LiePolynomial(Symbol,Fraction Integer)

test: Lpoly := Jacobi(r,s,t)
\[\]
0

Type: LiePolynomial(Symbol,Fraction Integer)

Evaluation

eval(p, a, p)$Lpoly
\[\]
[ab2]

Type: LiePolynomial(Symbol,Fraction Integer)

eval(p, [a,b], [2*bb, 3*aa])$Lpoly
\[\]
-6[ab]

Type: LiePolynomial(Symbol,Fraction Integer)

r: Lpoly := [p,c]
\[\]
[abc]+[acb]

Type: LiePolynomial(Symbol,Fraction Integer)

r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly
\[\]
-[abc]

Type: LiePolynomial(Symbol,Fraction Integer)

r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly
\[\]
-[acb]

Type: LiePolynomial(Symbol,Fraction Integer)

r + r1 + r2
\[\]
0

Type: LiePolynomial(Symbol,Fraction Integer)