-->
Home » , , , , , , , , » Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory.

Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory.

Cadabra a  field-theory motivated approach to computer algebra-

Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory. It has extensive functionality for tensor computer algebra, tensor polynomial simplification including multi-term symmetries, fermions and anti-commuting variables, Clifford algebras and Fierz transformations, implicit coordinate dependence, multiple index types and many more. The input format is a subset of TeX. Both a command-line and a graphical interface are available.

Key features of Cadabra:

    Input and output using TeX notation.
    Designed for field-theory problems, with handling of anti-commuting and non-commuting objects without special notations for their products, gamma matrix algebra, Fierz identities, Dirac conjugation, vielbeine, flat and curved, covariant and contravariant indices, implicit dependence of tensors on coordinates, partial and covariant derivatives...
    Powerful tensor simplification algorithms, not just for mono-term symmetries but also for multi-terms symmetries like the Bianchi identity, or dimensionally-dependent symmetries like the Schouten identity.

cadabra

Technical highlights:

    Internal graph data structure based on tree.hh
    A multiple-inheritance typing system using properties.
    Open source C++ code, with documentation on how to extend the system with new algorithm modules.

All feedback is welcome (bugs reports, criticism, suggestions); please contact kasper.peeters (at) durham.ac.uk or post to the mailing list.

Download.

Binary packages for Linux, Mac OS X (and no longer for Windows) can be found on these pages. The source code, available below, should compile on most Linux and Mac systems. However, I only have limited access to various distributions and versions of these operating systems. If you try to compile it yourself and encounter problems, please let me know.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end; on some systems there will also be an entry for Cadabra in your Applications or Start menu.

Linux.

Ubuntu

Ubuntu distributions have Cadabra packages in the standard repositories. Just install with

sudo apt-get install cadabra

or use e.g. synaptic. If you want the latest version, add my PPA to your system, using

sudo add-apt-repository ppa:kasper-peeters/ppa
sudo apt-get update

Optionally, install the cmtt12.ttf font into your ~/.fonts directory to improve the GUI display.

If you encounter a LaTeX error related to breqn.sty, please do

sudo apt-get install texlive-latex3

This is a broken dependency issue in the official repositories (which is fixed in the PPA version).

If you want to install the packages by hand (using e.g. gdebi or dpkg), use the direct link to the modglue packages and the direct link to the cadabra packages. If you need Cadabra for an older Ubuntu version, send me an email.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the Applications/Education menu).

Debian

Cadabra is now also part of Debian, and is available in the 'sid (unstable)' branch. Thanks to Gürkan Sengün for making this happen.

Packes for older Debian systems (Etch and Lenny) are available thanks to the work of Burkhard Bunk. Please consult the Debian packages page at the physics department of Humboldt University Berlin for instructions on how to install these.

Note that their repository does not have the latest Cadabra version.

 

Fedora

I have built packages for Fedora 16 and 17 using the OpenSUSE build server.

Fedora 16 / 32 bits

Fedora 16 / 64 bits

You need to install all four packages (lie, breqn, modglue and cadabra, in this order) in order to get a working Cadabra installation.

You may also want to install one extra font (optional), cmtt12.ttf. Simply place this in the ~/.fonts directory in your home directory; this will improve the GUI display.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the Applications/Education menu).

Scientific Linux

The packages below were created and tested on Scientific Linux 5.3, but work on more recent versions as well. These packages are relocatable. If you need packages for an older version of Scientific Linux, please drop me an email.

package
SL-5.3 RPM
SL-5.3 SRPM

breqn
breqn-0.94-1.i386.rpm
breqn-0.94-1.src.rpm

LiE
lie-2.2.2-1.i386.rpm
lie-2.2.2-1.src.rpm

libmodglue
modglue-1.15-1.i386.rpm
modglue-1.15-1.src.rpm

Cadabra
cadabra-1.23-1.i386.rpm
cadabra-1.23-1.src.rpm

extra font (optional)
cmtt12.ttf

Store the font in the ~/.fonts directory in your home directory; this will improve the GUI display.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the Applications/Edutainment menu).

openSUSE

The packages below were created and tested on openSUSE 11.2, but hopefully work on more recent versions as well. These packages are relocatable. If you need packages for an older version of openSUSE, please drop me an email.

package
openSUSE 11.2 RPM
openSUSE 11.2 SRPM

LiE
lie-2.2.2-1.i386.rpm
lie-2.2.2-1.src.rpm

libmodglue
modglue-1.16-1.i386.rpm
modglue-1.16-1.src.rpm

Cadabra
cadabra-1.23-1.i386.rpm
cadabra-1.23-1.src.rpm

extra font (optional)
cmtt12.ttf

Store the font in the ~/.fonts directory in your home directory; this will improve the GUI display.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the More Applications/New applications menu).

Gentoo

Packages for Cadabra, modglue and LiE are available in the science overlay of Gentoo. Users can access the science overlay using the layman utility:

  1. Type "layman -a science" to add the science overlay,
  2. add "sci-mathematics/lie", "sci-libs/modglue" and "sci-mathematics/cadabra" to your package.keywords (in /etc/portage)
  3. Type "emerge cadabra" to install cadabra and its dependencies.

Thanks to François Bissey for making this happen.

Other Linux distributions

If you need a package for a different Linux distribution, contact me by email or try to compile from source.

Mac OS X.

Fink

The Fink version is outdated and known to lead to problems; if you would like to see it updated please contact me.

MacPorts

Important for Mavericks users: the Cadabra dependencies fail to build on Apple's latest OS. This is under investigation; if you have any insight please let me know.

Thanks to Greg Wright, cadabra is available for Mac OS X users through MacPorts; see the record for cadabra for details and the currently available version.

Simply type "sudo port install cadabra" and all required software will be installed automatically (note: this may install some software which you already have installed from other sources). If you do not want the graphical user interface, add the +no_gui option at the end.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end.

Source code.

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,

  • gmp (configured with --enable-cxx) (on Debian, apt-get install libgmp3-dev libgmpxx3)
  • pcre with C++ wrapper enabled (on Debian, apt-get install libpcre3-dev lib)
  • LiE (on Debian, apt-get install lie)

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).

As always, please mail me if you need help.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end.

Screenshots.

Native graphical user interface

Cadabra comes with its own graphical notebook frontend, which is based on the gtk toolkit (or rather its C++ wrapper gtkmm) and uses LaTeX to typeset expressions. Here are some screenshots:

native gui native gui

TeXmacs interface

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.

screenshot 1 screenshot 2

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

0 commenti:

Post a Comment

Random Posts

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->