## Software for Computing Baker-Campbell-Hausdorff

### Remember to vote up questions/answers you find interesting or helpful (requires 15 reputation points)

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

-

1
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 2011 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 2011 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 2011 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 2011 at 19:13

1
arxiv.org/abs/math-ph/9905012 – Steve Huntsman Nov 3 2011 at 0:10
show 1 more comment

## 3 Answers

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

-

### You can accept an answer to one of your own questions by clicking the check mark next to it. This awards 15 reputation points to the person who answered and 2 reputation points to you.

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 2011 at 9:32

I don't have a first-hand experience, but hope this is helpful anyway. K.Engo, A.Marthinsen and H.Munthe-Kaas have done a lot of work on numerical methods for solving ODE on manifolds (and Lie groups in particular). See for example their paper ''DiffMan: an object-oriented Matlab toolbox for solving differential equations on manifolds'', Appl. Numerical Mathematics, 39 (2001), p.323 where they discuss a particular package.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 9, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.922107458114624, "perplexity_flag": "middle"}