4 research outputs found
Routines and Applications of Symbolic Algebra Software
Computing has become an essential resource in modern research and has found application
across a wide range of scientific disciplines. Developments in symbolic algebra tools have been
particularly valuable in physics where calculations in fields such as general relativity, quantum
field theory and physics beyond the standard model are becoming increasing complex and
unpractical to work with by hand. The computer algebra system Cadabra is a tensor-first
approach to symbolic algebra based on the programming language Python which has been used
extensively in research in these fields while also having a shallow learning curve making it an
excellent way to introduce students to methods in computer algebra.
The work in this thesis has been concentrated on developing Cadabra, which has involved
looking at two different elements which make up a computer algebra program. Firstly, the
implementation of algebraic routines is discussed. This has primarily been focused on the
introduction of an algorithm for detecting the equivalence of tensorial expressions related by
index permutation symmetries. The method employed differs considerably from traditional
canonicalisation routines which are commonly used for this purpose by using Young projection
operators to make such symmetries manifest.
The other element of writing a computer algebra program which is covered is the infrastruc-
ture and environment. The importance of this aspect of software design is often overlooked by
funding committees and academic software users resulting in an anti-pattern of code not being
shared and contributed to in the way in which research itself is published and promulgated.
The focus in this area has been on implementing a packaging system for Cadabra which allows
the writing of generic libraries which can be shared by the community, and interfacing with
other scientific computing packages to increase the capabilities of Cadabra
Recommended from our members
Computer algebra techniques in object-oriented mathematical modelling.
This thesis proposes a rigorous object-oriented methodology, supported by computer algebra software, to generate and relate features in a mathematical model. Evidence shows that there is little heuristic or theoretical research into this problem from any of the three principal modelling methodologies: 'case study’, ‘scenario’ and ‘generic’. This thesis comprises two other major strands: applications of computer algebra software and the efficacy of symbolic computation in teaching and learning. Developing the principal algorithms in computer algebra has sometimes been done at the expense of ease of use. Developers have also not concentrated on integrating an algebra engine into other software. A thorough review of quantitative studies in teaching and learning mathematics highlights a serious difficulty in measuring the effect of using computer algebra. This arises because of the disparate nature of learning with and without a computer.
This research tackles relationship formulation by casting the problem domain into object-oriented terms and building an appropriate class hierarchy. This capitalises on the fact that specific problems are instances of generic problems involving prototype physical objects. The computer algebra facilitates calculus operations and algebraic manipulation. In conjunction, I develop an object-oriented design methodology applicable to small-scale mathematical modelling. An object model modifies the generic modelling cycle. This allows relationships between features in the mathematical model to be generated automatically. The software is validated by quantifying the benefits of using the object-oriented techniques, and the results are statistically significant.
The principal problem domain considered is Newtonian particle mechanics. Although the Newtonian axioms form a firm basis for a mathematical description of interactions between physical objects, applying them within a particular modelling context can cause problems. The goal is to produce an equation of motion. Applications to other contexts are also demonstrated.
This research is significant because it formalises feature and equation-generation in a novel way. A new modelling methodology ensures that this crucial stage in the modelling cycle is given priority and automated