Alakazam
![](/docs/Alakazam/NIGll/0.1.19/_packagesource/translogo.png)
Alakazam is a Julia-based solution to performing symbolic algebraic manipulations of tensors and tensor equations. It was designed primarily for studying field theories in physics. In particular, it includes the ability to raise and lower tensor indices with a metric, simplify expressions using symmetries of tensors, and perform covariant differentiation.
For those working on supersymmetric theories, Alakazam can handle covariant derivatives with multiple indices, perform superspace integration, and more.
Getting started
To get started import the package after installing by running
using Alakazam
The simplest thing you can do is create a tensor,
T=Tensor("T")
This creates a tensor named T. This however, isn't particularly useful. To create a tensor with indices, we can firstly create an IndexSet,
spacetime_indices = IndexSet("spacetime", 4,lower)
Then, we can create some index objects
μ = Index("μ", spacetime_indices)
ν = Index("ν", spacetime_indices)
ρ = Index("ρ", spacetime_indices)
τ = Index("τ", spacetime_indices)
Now we can create more interesting tensor objects,
T = Tensor("T", [μ => upper, ν=> lower, τ=>upper])
We can now begin to perform some basic operations, for example raising and lowering with a metric,
η_νρ = Metric([ν=>upper, ρ=>upper])
expression = η_νρ*T
contract_metrics(expression)
More important functionality includes taking covariant derivatves, pattern matching and replacements in expressions, and simplifications using symmetries of tensors. There is also inbuilt support for supersymmetric/fermionic objects, and some aspects of superspace.
This section will be updated when an upcoming paper on this package is published.
For more info, see demo.jl
Support
If you'd like to support me and future development of this project, please donate here.
License
Alakazam is available under the conditions of the GNU General Public License. If you use this software in part of your work, please cite: (publication coming soon)
Contributing
If you'd like to contribute, or have any questions in general, please get in touch at jjw98@cam.ac.uk :)
Authors and acknowledgment
Written by me. Credits to Kasper Peeters, author of Cadabra, whose project inspired me to create Alakazam.