Cadabra is a computer algebra system (CAS) for the manipulation of tensorial expressions. It is aimed at, though not necessarily restricted to, theoretical high-energy physicists. Because of its target audience, the program's interface, storage system and underlying philosophy differ substantially from other computer algebra systems. Its main characteristics are:
Cadabra has been under development for some time now, but has never left my own computer. The current version is the first public release, intended to collect feedback from a wider audience. So, feel free to mail me at kasper.peeters (at) aei.mpg.de with suggestions or constructive criticism.
If you use cadabra or even just play with it, I would like to hear about it. Please drop me an email so that I can get an idea of who is interested in this program.
Cadabra is available under the conditions of the GNU General Public License. If you use cadabra in your own work, please cite the paper mentioned below (to keep the bean counters happy).
Cadabra contains code taken from José Martin-Garcia's xPerm in order to canonicalise tensor expressions. Some of the algorithms rely on the LiE software by Marc van Leeuwen, Arjeh Cohen and Bert Lisser.
Cadabra comes with its own graphical frontend, which is based on the gtk toolkit (or rather its C++ wrapper gtkmm) and uses LaTeX to typeset expressions. This is a screenshot:
There is also a TeXmacs frontend, displayed in the screenshots below. The associated TeXmacs files can be found in the "texmacs" subdirectory of the source tarball.
(note: there are no binaries or packages yet for the new graphical frontend)
First check below whether there is a package for your system, which is always the easiest installation method.
If you are running Linux (on an Intel processor) or Mac OS X, the next simplest way to install cadabra is to install a statically linked binary. You need to download two programs,
Linux, i386 | Mac OS X, PPC |
---|---|
prompt.gz | prompt.gz |
CDBRELEASE.gz | CDBRELEASE.gz |
gunzip them both and make them executable with "chmod u+x prompt cadabra". Put them somewhere in your path. Then the command "prompt cadabra" should start the program (or ./prompt ./cadabra if the current directory is not in your path); if not, email me.
If you want to use the TeXmacs frontend, you will also need the following file:
Store this file in the directory ~/.TeXmacs/plugins/cadabra/progs/ and restart TeXmacs.
Alternatively you can try to locate the TeXmacs/plugins directory on your filesystem (it is usually something like /usr/share/TeXmacs/plugins), and make a (nested) subdirectory cadabra/progs below that. Then copy the init-cadabra.scm file to this directory and (re)start TeXmacs.
Thanks to Greg Wright, cadabra is available for Mac OS X users through MacPorts. Simply type sudo port install cadabra and all required software will be installed automatically. For questions about this port, please contact gwright (at) macports.org.
Debian and RPM packages will follow in the near future.
Installing from source should be no harder than with any other well-behaved GNU tools, i.e. it should be as simple as configure/make/make install. However, you will need to have some additional libraries and tools installed before you can compile cadabra itself. In particular,
In order to compile the graphical front-end (add the --enable-gui flag to configure) you also need
Cadabra's configure script will look for these libraries and programs, and tell you when you need to install them. Consult the documentation of these programs/libraries for installation instructions.
You then need to compile and install my modglue library, which is used to connect the various pieces of cadabra together. Download this version here, since it's tuned to cadabra:
This should be a matter of configure/make/make install. Finally, compile and install cadabra itself,
Again, this should be a matter of configure/make/make install. If compilation succeeds, you can also try "make test" for some self-tests (which should all pass).
Since this is the first public release, chances are that some people will encounter problems at one of these steps. Please mail me if you need help.
There are currently two documents about cadabra. One is a paper explaining the motivation for writing this software, as well as sketching the internal structure:
The second document is the reference guide and tutorial, available only from here, and still incomplete,
preprint AEI-2006-038
Finally, if you are interested in the internals of the program, there is some doxygen documentation, though this is still in a rather preliminary stage.
For a history of the changes made since the first release, consult the ChangeLog.
There is a mailing list for discussions about cadabra and announcements of new versions (hosted by HEPforge). To subscribe, send an email to
majordomo@cedar.ac.uk
with a body containing the line
subscribe cadabra-discuss
You will receive a confirmation email to which you have to reply, quoting the given authentication key, in order to get subscribed.
There is also an archive of the mailing list available.