4
$\begingroup$

hello.

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, http://maxima.sourceforge.net/docs/manual/en/maxima_27.html

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, http://cadabra.phi-sci.com/, which looks geared specifically for tensor manipulations.

$\endgroup$
3
  • $\begingroup$ I was typing an answer for Cadabra when you edited your post! $\endgroup$
    – Simon
    Aug 12, 2010 at 3:27
  • $\begingroup$ 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. $\endgroup$
    – Will Jagy
    Aug 12, 2010 at 3:34
  • $\begingroup$ That's a neat feature! $\endgroup$
    – Simon
    Aug 12, 2010 at 4:14

2 Answers 2

2
$\begingroup$

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.

$\endgroup$
1
  • 1
    $\begingroup$ Direction 1 is now reality: Cadabra 2.x can be used from Python, see cadabra.science. $\endgroup$ Feb 2, 2017 at 12:37
1
$\begingroup$

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. http://www.msri.org/about/computing/mathdocs $$ $$ http://en.wikipedia.org/wiki/FORM_(symbolic_manipulation_system) $$ $$ http://en.wikipedia.org/wiki/List_of_computer_algebra_systems

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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