% Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
% !! DO NOT MODIFY THIS FILE BY HAND !! Created by ht.awk.
\newcommand{\LieExponentialsXmpTitle}{LieExponentials}
\newcommand{\LieExponentialsXmpNumber}{9.47}
%
% =====================================================================
\begin{page}{LieExponentialsXmpPage}{9.47 LieExponentials}
% =====================================================================
\beginscroll

%
%
%
%
%

This example is in just two variables
\xtc{
}{
\spadpaste{a: Symbol := 'a \bound{a}}
}
\xtc{
}{
\spadpaste{b: Symbol := 'b \bound{b}}
}

Declarations of domains
\xtc{
}{
\spadpaste{coef     := Fraction(Integer) \bound{coef}}
}
\xtc{
}{
\spadpaste{group    := LieExponentials(Symbol, coef, 3) \free{coef} \bound{group}}
}
\xtc{
}{
\spadpaste{lpoly    := LiePolynomial(Symbol, coef) \free{coef} \bound{lpoly}}
}
\xtc{
}{
\spadpaste{poly     := XPBWPolynomial(Symbol, coef) \free{coef} \bound{poly}}
}

Calculations
\xtc{
}{
\spadpaste{ea := exp(a::lpoly)$group \free{a} \free{lpoly} \free{group} \bound{ea}}
}
\xtc{
}{
\spadpaste{eb := exp(b::lpoly)$group \free{b} \free{lpoly} \free{group}  \bound{eb}}
}
\xtc{
}{
\spadpaste{g: group := ea*eb \free{ea} \free{eb} \bound{g}}
}
\xtc{
}{
\spadpaste{g :: poly \free{g} \free{poly}}
}
\xtc{
}{
\spadpaste{log(g)$group \free{g} \free{group}}
}
\xtc{
}{
\spadpaste{g1: group := inv(g) \free{g} \free{group} \bound{g1}}
}
\xtc{
}{
\spadpaste{g*g1 \free{g} \free{g1}}
}
\endscroll
\autobuttons
\end{page}
%
