$SPAD/src/input lpoly.input

Timothy Daly December 3, 2016

Abstract

Contents

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool lpoly.output
)set message test on
)set message auto off
)clear all
--S 1 of 28
RN    := Fraction Integer
--R
--R
--R   (1)  Fraction(Integer)
--R                                                                 Type: Domain
--E 1
--S 2 of 28
Lpoly := LiePolynomial(Symbol,RN)
--R
--R
--R   (2)  LiePolynomial(Symbol,Fraction(Integer))
--R                                                                 Type: Domain
--E 2
--S 3 of 28
Dpoly := XDPOLY(Symbol,RN)
--R
--R
--R   (3)  XDistributedPolynomial(Symbol,Fraction(Integer))
--R                                                                 Type: Domain
--E 3
--S 4 of 28
Lword := LyndonWord Symbol
--R
--R
--R   (4)  LyndonWord(Symbol)
--R                                                                 Type: Domain
--E 4

--S 5 of 28
a:Symbol := 'a
--R
--R
--R   (5)  a
--R                                                                 Type: Symbol
--E 5
--S 6 of 28
b:Symbol := 'b
--R
--R
--R   (6)  b
--R                                                                 Type: Symbol
--E 6
--S 7 of 28
c:Symbol := 'c
--R
--R
--R   (7)  c
--R                                                                 Type: Symbol
--E 7
--S 8 of 28
aa: Lpoly := a
--R
--R
--R   (8)  [a]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 8
--S 9 of 28
bb: Lpoly := b
--R
--R
--R   (9)  [b]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 9
--S 10 of 28
cc: Lpoly := c
--R
--R
--R   (10)  [c]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 10
--S 11 of 28

p : Lpoly := [aa,bb]
--R
--R
--R   (11)  [a b]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 11
--S 12 of 28
q : Lpoly := [p,bb]
--R
--R
--R             2
--R   (12)  [a b ]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 12
--S 13 of 28
liste : List Lword := LyndonWordsList([a,b], 4)
--R
--R
--R                          2       2    3     2 2      3
--R   (13)  [[a],[b],[a b],[a b],[a b ],[a b],[a b ],[a b ]]
--R                                               Type: List(LyndonWord(Symbol))
--E 13
--S 14 of 28
r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly
--R
--R
--R                    2         2
--R   (14)  [a b] + 3[a b] + [a b ]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 14
--S 15 of 28
s:Lpoly := [p,r]
--R
--R
--R              2                 2
--R   (15)  - 3[a b a b] + [a b a b ]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 15
--S 16 of 28
t:Lpoly  := s  + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)
--R
--R
--R                       2       2                 2
--R   (16)  2[a b] - 5[a b ] - 3[a b a b] + [a b a b ]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))

--E 16
--S 17 of 28
degree t
--R
--R
--R   (17)  5
--R                                                        Type: PositiveInteger
--E 17
--S 18 of 28
mirror t
--R
--R
--R                         2       2                 2
--R   (18)  - 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 18
--S 19 of 28
Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly ==
  [[p,q]$Lpoly, r] + [[q,r]$Lpoly, p] + [[r,p]$Lpoly, q]
--R
--R   Function declaration Jacobi : (LiePolynomial(Symbol,Fraction(Integer
--R      )),LiePolynomial(Symbol,Fraction(Integer)),LiePolynomial(Symbol,
--R      Fraction(Integer))) -> LiePolynomial(Symbol,Fraction(Integer))
--R      has been added to workspace.
--R                                                                   Type: Void
--E 19
--S 20 of 28
test: Lpoly := Jacobi(a,b,b)
--R
--R   Compiling function Jacobi with type (LiePolynomial(Symbol,Fraction(
--R      Integer)),LiePolynomial(Symbol,Fraction(Integer)),LiePolynomial(
--R      Symbol,Fraction(Integer))) -> LiePolynomial(Symbol,Fraction(
--R      Integer))
--R
--R   (20)  0
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 20
--S 21 of 28
test: Lpoly := Jacobi(p,q,r)
--R
--R
--R   (21)  0
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 21

--S 22 of 28
test: Lpoly := Jacobi(r,s,t)
--R
--R
--R   (22)  0
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 22
--S 23 of 28
eval(p, a, p)$Lpoly
--R
--R
--R             2
--R   (23)  [a b ]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 23
--S 24 of 28
eval(p, [a,b], [2*bb, 3*aa])$Lpoly
--R
--R
--R   (24)  - 6[a b]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 24
--S 25 of 28
r: Lpoly := [p,c]
--R
--R
--R   (25)  [a b c] + [a c b]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 25
--S 26 of 28
r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly
--R
--R
--R   (26)  - [a b c]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 26
--S 27 of 28
r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly
--R
--R
--R   (27)  - [a c b]
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 27
--S 28 of 28

r + r1 + r2
--R
--R
--R   (28)  0
--R                                Type: LiePolynomial(Symbol,Fraction(Integer))
--E 28
)spool
)lisp (bye)

———-

References^{[1] nothing}

8