Core foundations, algorithms, and language design for symbolic computation in physics
Degree GrantorUniversity of Canterbury
Degree NameDoctor of Philosophy
This thesis presents three contributions to the field of symbolic computation, followed by their application to symbolic physics computations. The first contribution is to interfacing systems. The Notation package, which is developed in this thesis, allows the entry and the creation of advanced notations in the Mathematica symbolic computation system. In particular, a complete and functioning notation for both Dirac's BraKet notation as well as a full tensorial notation, are given herein. The second part of the thesis introduces a prototype based rule inheritance language paradigm that is applicable to certain advanced pattern matching rewrite rule language models. In particular, an implementation is presented for Mathematica. After detailing this language extension, it is adopted throughout the rest of the thesis. Finally, the third major contribution is a highly efficient algorithm to canonicalize tensorial expressions. By an innovative technique this algorithm avoids the dummy index relabeling problem. Further algorithmic optimizations are then presented. The complete algorithm handles linear symmetries such as the Bianchi identities. It also fully accommodates partial derivatives as well as mixed index classes. These advances in language and notations are extensively demonstrated on problems in quantum mechanics, angular momentum, general relativity, and quasi-spin. It is shown that the developments in this thesis lead to an extremely flexible, extensible, and powerful working environment for the expression and ensuing calculation of symbolic physics computations.