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)