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

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

  • Zenwalk is odern and user-friendly GNU/Linux operating system
    20.08.2008 - 0 Comments
    Zenwalk Linux Zenwalk Linux (formerly Minislack) is a Slackware-based GNU/Linux operating system with a goal of being slim and fast by using only one application per task and with focus on graphical desktop and multimedia usage. Zenwalk features…
  • System rescue and virus scanning with Dr.Web LiveCD
    25.03.2010 - 0 Comments
    There are several Live CD's for system rescue, forensics, network security and other tasks available, but perhaps less known is a live CD from Dr.Web, a Russian IT-security solutions vendor.The CD allows for attempting the rescue of Windows and…
  • New Compiz Fusion plugins and updates.
    03.03.2008 - 0 Comments
    To name a few: better KDE 4 integration, several magnification options (magnifying glass, anyone?), a "showmouse" plugin, a Rubik's cube, a maze and extensive Wiimote integration. Lots of screenshots and videos included. The changes have taken…
  • OpenIndiana 2019.10 released
    07.11.2019 - 0 Comments
    OpenIndiana is a continuation of the OpenSolaris operating system. OpenIndiana is part of the Illumos Foundation, and provides a true open-source community alternative to Solaris 11 and Solaris 11 Express, with an open development model and full…
  • Kali Linux is the new generation of the industry-leading BackTrack.
    06.10.2013 - 0 Comments
    Kali Linux is a Debian-derived Linux distribution designed for digital forensics and penetration testing. It is maintained and funded by Offensive Security Ltd. Mati Aharoni and Devon Kearns of Offensive Security developed it by rewriting BackTrack,…
  • Tiny Core Linux  is a very small minimal Linux desktop can be extended by installing additional applications from online repositories.
    30.11.2009 - 0 Comments
    Tiny Core Linux is a very small (10 MB) minimal Linux desktop. It is based on Linux 2.6 kernel, BusyBox, Tiny X, FLTK graphical user interface and JWM window manager, running entirely in memory.  It is not a complete desktop, nor is all…
  • Music Player Daemon (MPD) is a flexible, powerful, server-side application for playing music.
    30.07.2012 - 1 Comments
    Music Player Daemon (MPD) is a flexible, powerful, server-side application for playing music. Through plugins and libraries it can play a variety of sound files while being controlled by its network protocol. MPD Is Edit.  General…
  • ProofGeneral support for different theorem provers
    20.09.2009 - 0 Comments
    This package provides the Proof General support for several theorem provers which are not available as Debian packages yet. This includes: ACL2, HOL98, Isabelle, Isar, LClam, LEGO, Phox, Plastic, Twelf Proof General is a generic interface for…
  • Top 10 blog posts for April 2015 from Linuxlandit & The Conqueror Penguin.
    11.05.2015 - 0 Comments
    1.- GCompris: Introduction, Minimal Configuration & Installation. Introduction GCompris is a completely free educational software suite which contains a wide range of activities. It offers various activities aimed at covering a variety of…
  • Installation of LibreOffice on Linux.
    04.05.2013 - 0 Comments
    As a general rule, you are advised to install LibreOffice via the installation methods recommended by your particular Linux distribution (such as the Ubuntu Software Center, in the case of Ubuntu Linux). This is because it is usually the simplest…

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

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