Next: cbhexp
Up: Function Reference
Previous: regroupLB
  Contents
Purpose
Reduce an expression in terms of Lie brackets to its simplest form in
terms of brackets in the PHB.
|
Syntax
p:=reduceLB(x,B);
Description
The routine reduceLB is similar to regroupLB explained
above, but more powerful in the sense that it allows a greater
simplification of a general Lie expression (any Lie polynomial, i.e.
a summation of Lie products) by reducing every bracket to a valid
product in the Philip Hall basis. The algorithmic implementation of
this routine is simple and involves only three steps: regrouping the
original input by invoking regroupLB , transforming every
element in the regrouped expression to a valid PHB element by means of
the phbize function, and regrouping the last result once more,
again invoking regroupLB .
NOTE: This function accepts arguments with brackets of order
higher than the degree of nilpotency of the Lie algebra, and which
might exceed the degree of the highest order brackets in the
basis. Since this function relies on phbize, if there are
terms in exceeding the degree of nilpotency, but that are composed
by the Lie product of two elements in the PHB, the result returned
will be correct. However, for more complicated brackets the result
will be a partial simplification containing brackets which do not
really belong to the PHB, and thus the result must be interpreted
with care.
|
Arguments
Example
Consider the simplification of the exponent resulting from the
composition of the flows corresponding to the vector fields f_1
and f_2 from the example for the function
createLBobjects (p. . The exponent
of the composition of flows can be calculated by means of the function
cbhexp (p. . Assume the PHB is the same
one given in the example for the function phb in
p. .
The expansion of the exponent is not shown below since its 231 terms
require 7 double-spaced pages of 55 lines each, nevertheless it can be
found in the examples included with the source code.
Assume the PHB is the same one given in the example for the
function phb in p. .
Note in the example below how the resulting exponent zr has
only 29 summands, compared to the 231 in the initial expression for
the exponent z !
|
> z:=cbhexp(f_1,f_2):
> zr:=reduceLB(z,B);
zr := (- 1/12 u2_2~ u0_1~ u1_2~ + 1/12 u0_1~ u2_1~ u1_2~
- 1/12 u2_1~ u1_1~ u0_2~ + 1/12 u0_2~ u1_1~ u2_2~)
(f2~ &* (f0~ &* f1~)) + (- 1/12 u0_2~ u0_1~ u1_2~ ...
|
2 2
... + 1/12 u0_1~ u1_2~ + 1/12 u0_2~ u1_1~
- 1/12 u0_1~ u1_1~ u0_2~) (f0~ &* (f0~ &* f1~))
+ (- 1/2 u2_1~ u1_2~ + 1/2 u1_1~ u2_2~) (f1~ &* f2~) + (
- 1/24 u1_2~ u1_1~ u0_1~ u2_2~ + 1/24 u2_1~ u0_2~ u1_1~ u1_2~
) (f1~ &* (f1~ &* (f0~ &* f2~))) + (1/12 u1_2~ u2_1~ u0_2~
- 1/12 u2_1~ u1_1~ u0_2~ - 1/12 u2_2~ u0_1~ u1_2~
+ 1/12 u0_1~ u1_1~ u2_2~) (f1~ &* (f0~ &* f2~)) +
2 2
(1/24 u2_1~ u0_2~ u0_1~ - 1/24 u0_2~ u0_1~ u2_2~)
(f0~ &* (f0~ &* (f0~ &* f2~)))
+ (1/2 u0_1~ u1_2~ - 1/2 u1_1~ u0_2~) (f0~ &* f1~) + (
2
1/12 u0_2~ u2_1~ - 1/12 u0_1~ u2_1~ u0_2~
2
- 1/12 u2_2~ u0_1~ u0_2~ + 1/12 u0_1~ u2_2~)
2
(f0~ &* (f0~ &* f2~)) + (- 1/12 u1_2~ u0_1~
+ 1/12 u0_1~ u1_1~ u1_2~ + 1/12 u0_2~ u1_1~ u1_2~
2
- 1/12 u1_1~ u0_2~) (f1~ &* (f0~ &* f1~)) +
2 2 2 2
(1/24 u0_2~ u1_1~ - 1/24 u1_2~ u0_1~ )
2
(f1~ &* (f0~ &* (f0~ &* f1~))) + (- 1/12 u2_1~ u0_2~
+ 1/12 u0_2~ u2_1~ u2_2~ + 1/12 u2_1~ u0_1~ u2_2~ ...
|
2
... - 1/12 u2_2~ u0_1~) (f2~ &* (f0~ &* f2~))
2
+ (u2_2~ + u2_1~) f2~ + (1/12 u1_2~ u2_1~
- 1/12 u2_1~ u1_1~ u1_2~ - 1/12 u1_2~ u1_1~ u2_2~
2
+ 1/12 u1_1~ u2_2~) (f1~ &* (f1~ &* f2~))
+ (u1_2~ + u1_1~) f1~ + (u0_1~ + u0_2~) f0~ + (
2
1/48 u2_1~ u0_2~ u1_1~ u1_2~ + 1/48 u0_2~ u1_1~ u2_2~
2
- 1/48 u1_2~ u2_1~ u0_1~ - 1/48 u1_2~ u1_1~ u0_1~ u2_2~)
(f2~ &* (f1~ &* (f0~ &* f1~))) +
2 2 2 2
(1/24 u0_2~ u2_1~ - 1/24 u2_2~ u0_1~ )
(f2~ &* (f0~ &* (f0~ &* f2~))) +
2 2
(- 1/24 u0_2~ u0_1~ u1_2~ + 1/24 u0_2~ u0_1~ u1_1~)
(f0~ &* (f0~ &* (f0~ &* f1~))) + (
2
- 1/48 u2_1~ u2_2~ u0_1~ u1_2~ - 1/48 u1_1~ u2_2~ u0_1~
2
+ 1/48 u0_2~ u2_1~ u1_2~ + 1/48 u2_1~ u0_2~ u1_1~ u2_2~)
(f2~ &* (f1~ &* (f0~ &* f2~))) +
2 2
(1/24 u0_2~ u1_1~ u1_2~ - 1/24 u1_2~ u1_1~ u0_1~)
(f1~ &* (f1~ &* (f0~ &* f1~))) + ...
|
... (1/24 u2_1~ u0_2~ u1_1~ u2_2~ - 1/24 u2_1~ u2_2~ u0_1~ u1_2~)
(f2~ &* (f2~ &* (f0~ &* f1~))) + (
2
- 1/48 u2_1~ u0_2~ u0_1~ u1_2~ - 1/48 u1_2~ u0_1~ u2_2~
2
+ 1/48 u0_2~ u2_1~ u1_1~ + 1/48 u0_2~ u1_1~ u0_1~ u2_2~)
(f2~ &* (f0~ &* (f0~ &* f1~)))
+ (- 1/2 u2_1~ u0_2~ + 1/2 u0_1~ u2_2~) (f0~ &* f2~) +
2 2
(1/24 u0_2~ u2_1~ u2_2~ - 1/24 u0_1~ u2_2~ u2_1~)
(f2~ &* (f2~ &* (f0~ &* f2~))) +
2 2
(- 1/24 u1_2~ u1_1~ u2_2~ + 1/24 u1_2~ u2_1~ u1_1~)
(f1~ &* (f1~ &* (f1~ &* f2~))) +
2 2
(1/24 u2_1~ u1_2~ u2_2~ - 1/24 u2_2~ u2_1~ u1_1~)
(f2~ &* (f2~ &* (f1~ &* f2~))) + (1/12 u2_1~ u1_1~ u2_2~
2 2
- 1/12 u2_2~ u1_1~ - 1/12 u2_1~ u1_2~
+ 1/12 u1_2~ u2_1~ u2_2~) (f2~ &* (f1~ &* f2~)) +
2 2 2 2
(1/24 u1_2~ u2_1~ - 1/24 u1_1~ u2_2~ )
2
(f2~ &* (f1~ &* (f1~ &* f2~))) + (1/48 u0_2~ u2_1~ u1_1~
+ 1/48 u2_1~ u0_2~ u0_1~ u1_2~
2
- 1/48 u0_2~ u1_1~ u0_1~ u2_2~ - 1/48 u1_2~ u0_1~ u2_2~)
(f1~ &* (f0~ &* (f0~ &* f2~)))
> nops(zr);
29
|
Next: cbhexp
Up: Function Reference
Previous: regroupLB
  Contents
Miguel Attilio Torres-Torriti
2004-05-31