Mark Transtrum and Dr. Jean-Francois Van Huele, Physics and Astronomy
Quantum mechanics is one of the fundamental theories of physics. Its formal mathematical description is marked by the appearance of non-commutative operators. The non-commutativity provides a rich mathematical language appropriate for describing quantum theory. The commutator of two operators is defined as the difference between the product of the two operators and the product in reverse order. The commutator plays a foundational role in the theory of quantum mechanics. For example, in the Heisenberg picture, the time evolution of an operator is determined by its commutator with the Hamiltonian operator. Also, normal ordering (an important problem in quantum optics) is achieved by repeated application of the definition of the commutator.
In general, working in quantum theory requires the evaluation of commutators in many different circumstances. These evaluations can be complicated in two ways. First, the actual arguments of the commutator can be complicated expressions; and, secondly, even simple commutators may need to be evaluated repeatedly (such as in a normal ordering problem). The process for solving both of these problems is very straightforward and almost mechanical. As such, it a problem ideally delegated to a computer program which will solve the problem much more efficiently than a human. We have developed such an algorithm in the symbolic manipulation language of Maple.
There is a class of operators that appear often in quantum mechanics. They are operators whose commutation relation is a constant. The most conspicuous of these operators are the position and momentum operators and the creation and annihilation operators. There is a well-known formula stating that the commutation relation of a function of such an operator with the other operator is proportional to the derivative of the function. Implementing such a formula into our algorithm would increase both the efficiency of the algorithm and the domain of applicability.
In order to fully utilize this formula in our algorithm, we first generalized it. We succeeded in finding an expression for the commutator of two analytic functions of an arbitrary number of operators whose commutation relations are constants. The formula is somewhat complicated and will not be given here; however, it will appear shortly, along with its derivation, in the Journal of Mathematical Physics.
Although the previously mentioned class of operators is very common in quantum theory, there are other important operators that do not have constant commutation relations. The most obvious of these are the angular momentum operators. In general, the commutation relations of a group of operators define a Lie algebra. To be of use generally, it was necessary that our algorithms be capable of handling user-defined Lie algebras.
In general, one evaluates a commutator by expanding it using the properties of the commutator. From this, one can find an expression involving only fundamental commutation relations. Since the fundamental commutation relations are known, they can be evaluated, resulting in the expression for the general commutator. Our algorithm, by contrast, first determines if the commutator involves operators of the first type mentioned above for which there is a known formula. If so, it evaluates the commutator using the formula. If not, the algorithm follows the same approach one would when evaluating the commutator by hand.
Our algorithm was coded in Maple. In order to allow expressions to be integrated as seamlessly as possible into the entire functionality of Maple, we used the Maple-defined ‘dot’ product to represent the non-commutative product. This has the advantage of being non-commutative and possessing many of the properties of the operator multiplication found in quantum mechanics. However, one serious drawback is that Maple’s ‘dot’ product does not distribute over addition. Operators in quantum mechanics operators are linear and, therefore, distribute over addition. Thus, in addition to our commutator algorithm, we also developed an algorithm to distribute the ‘dot’ product over addition from both the left and the right.
The commutator algorithm and the distributing algorithm provide the necessary framework to integrate expressions from quantum theory in Maple. In addition to these two algorithms we also developed a number of algorithms to manipulate these expressions in useful ways. The most significant of these is an algorithm for normal ordering an expression. It repeatedly applies the definition of the commutator to change the order of operators in an expression. The user arbitrarily specifies the order.
In addition, we have coded an algorithm to convert any Maple data type into a non-commutative product. There is an algorithm to find the degree of a polynomial involving the non-commutative product. There are algorithms for converting all non-commutative products to the usual commutative product and vice versa. Finally, we have combined many of these algorithms into procedures designed to express its arguments in the most common forms.
At this time, our algorithms have all been successfully implemented into a Maple package. We hope to make the package available to the public via an online internet download as soon as possible. The code is likely to find many applications, and will undoubtedly be of benefit to other researchers in quantum theory. It could also find use as a pedagogical tool in the undergraduate curriculum.
This project has been a wonderful learning experience for me. I have learned a lot about the process of designing a Maple package to solve a specific problem. In addition, I have learned much about the formalism of quantum mechanics and the role of the commutator in the theory. I have used these programs to solve homework problems in my undergraduate quantum mechanics class, and I have used them extensively in another research project.