# Software for Computing Baker-Campbell-Hausdorff

Does anyone have a recommendation for software which can efficiently calculate the Baker-Campbell-Hausdorff series in classical Lie algebras?

Right now, I have a problem which boils down to understanding Baker-Campbell-Hausdorff with respect to a basis in su(2), and this seems like the kind of thing Sage or Mathematica should be able to handle. However, I haven't had to use computer algebra packages for Lie theory before, so I would love to be pointed in the right direction.

Many thanks,

Jesse

-
For $SU(2)$, rather than using BCH, why not just exponentiate the matrices, multiply them and compute the logarithm? The logarithm is the most involved step, but it basically amounts to computing the eigenvalues and eigenvectors. This is a relatively straightforward task. Do you want the answer to be in a particular form? –  Ryan Budney Nov 2 '11 at 17:35
I suppose in principle there's a nice closed-form answer if you use the above approach. You can determine the axis and angle of rotation by solving some linear and a quadratic equation. –  Ryan Budney Nov 2 '11 at 17:40
I've been told that LiE is a good software package for many Lie-theoretic problems. I've never used it myself, so I'll leave this as a comment, rather than an answer. –  Theo Johnson-Freyd Nov 2 '11 at 18:02
@Ryan, SU(2) is a warm-up for SU(n), so while I could do things by hand here, I figured it's worth my while to find a good computer program now. Theo, thanks for the mention on LiE. I'll take a look at it. –  Jesse Wolfson Nov 2 '11 at 19:13
show 1 more comment

There is a quite comprehensive package for Lie algebras in Maple. It is developed by Ian Anderson (from Utah State not Jethro Tull).

-

You don't need any packages to be able to do that in Mathematica for small Lie algebras such as su(2), probably not in SAGE either (I'm familiar with Mathematica). Anyway, Basically you just need to use the MatrixExp function and solve some equations. E.g. define

$M_1 = \text{MatrixExp}\left[\sum\limits_i \alpha^i X_i\right]$ and $M_2 =\prod\limits_i\text{MatrixExp}\left[\beta^i X_i\right]$

You may get transcendental equations, but you can simplify things by hand. Here's $M_2$ explicitly (just pick a basis $X_i$):

$\text{M2}=\text{MatrixExp}[X[1]\alpha [1]].\text{MatrixExp}[X[2]\alpha [2]].\text{MatrixExp}[X[3]\alpha [3]]\text{//}\text{FullSimplify}$

-
umm and I mean of course then solve the equation $M_1 = M_2$ for $\alpha$'s or $\beta$'s... –  H. Arponen Nov 3 '11 at 9:32