MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


I am looking for tensor manipulation software that would allow me:

  • declare indices
  • declare results of contraction (or simplification rules)
  • allow algebraic simplifications and expansion
  • index renaming

So far I have found Maxima to satisfy my requirement more or less,

one last thing I also want, (but not necessarily require), is interface with python. In principle I could use sage to interface with maxima.

Is there some other Cas that has package with similar tensor manipulation properties?

from links given below, I also found this,, which looks geared specifically for tensor manipulations.

share|cite|improve this question
I was typing an answer for Cadabra when you edited your post! – Simon Aug 12 '10 at 3:27
Simon, there is a little symbol in the edit window for answers, if you click on the lightning bolt the person who asked the question gets an electric shock. It was installed for the situation you describe. – Will Jagy Aug 12 '10 at 3:34
That's a neat feature! – Simon Aug 12 '10 at 4:14
up vote 2 down vote accepted

I think that everything in your list (except the Python interface) can be found in Kasper Peeters' Cadabra.

As for a Python interface, there are two directions:

  1. It is planned to add an interface layer to Cadabra to either Maxima or SymPy - in the latter case you'd probably get access to Python.
  2. There is talk of adding a Cadabra interface to sage using the standard sage.interfaces.expect class.

As an aside some of the index algorithms come from José Martin-Garcia's xPerm, a Mathematica package. xPerm seems to be more suited to GR while Cadabra is focused on QFT. FORM (the successor of Schoonschip) is also very powerful and used in a lot of high energy physics computing.

share|cite|improve this answer

I think your best bet is a physics oriented package which I think is just called R or maybe Reduce. Meanwhile, here is the msri page of documentation for most packages currently available there. $$ $$ $$ $$

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.