next up previous contents
Next: cbhexp Up: Function Reference Previous: regroupLB   Contents

reduceLB

 


  
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 $x$ 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 $x$ 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 $x$ $\textstyle \parbox{0.64\textwidth}{Any Lie polynomial.}$
$B$ $\textstyle \parbox{0.64\textwidth}{Philip Hall basis}$

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 $B$ 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 $B$ 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 up previous contents
Next: cbhexp Up: Function Reference Previous: regroupLB   Contents
Miguel Attilio Torres-Torriti 2004-05-31