What is Cadabra?
Cadabra is an open-source computer algebra system designed specifically for advanced theoretical physics computations involving tensor polynomial simplifications. It has a modern C++ codebase focused on flexibility, extensibility and understandability.
Some key features of Cadabra include:
- Symbolic tensor manipulation, with support for abstract and component indices
- Computation and simplification of tensor polynomials
- Substitution rules and patterns to manipulate expressions
- A Python front-end to interface with the C++ computational kernel
- A modular architecture to allow new data types and algorithms to be added
- Visualization tools to display computational graphs and inspect expression properties
- Interfaces to communicate with computer algebra systems like Mathematica
Cadabra is well-suited for theoretical physicists who need to perform symbolic manipulations of tensor expressions involving curvatures, field strengths, covariant derivatives, etc. It has been used successfully in research areas like general relativity, supergravity theories, string theory and related field theory models. The combination of symbolic power, extensibility and customizability makes Cadabra a useful addition to a physicist's computational toolbox.
PTC Mathcad, Mathematica, MATLAB, Maple, Scilab, GNU Octave, R (programming language), Maxima, SageMath, wxMaxima, SymPy, Mathics, GiNaC, GAP are some alternatives to Cadabra.