Has anybody used tensors in Mathematica? How to properly work with them? I find Mathematica not very friendly in this field, as I am defining my own functions for lowering & raising indices, multiplication and stuff like that. I was wondering if there is some good package or a secret way to use tensors more properly in Mathematica. For example, I need tensor analysis for general relativity kind of calculations.

  • 2
    $\begingroup$ Have a look at guide/SymbolicTensors in the help. $\endgroup$ – b.gates.you.know.what Feb 21 '13 at 13:34
  • 2
    $\begingroup$ Related mathematica.stackexchange.com/questions/8895/…. For Maththematica 9 you might try to look at newer capabiliteis $\endgroup$ – Artes Feb 21 '13 at 13:41
  • $\begingroup$ @Vladimir, What exactly is it that you find difficult to use? $\endgroup$ – user21 Feb 21 '13 at 18:42
  • $\begingroup$ @b.gatessucks: I am aware there is a package in Mathematica called Tensors, but I do not agree that is able to do any computation in physics. It is more like N-dim matrix operations. This is why extra packages for Mathematica were made, as I was starting, and like some others have already developed in depth. The list of available packages with some description on them would be a great start (like you can see bellow). $\endgroup$ – Vladimir Feb 21 '13 at 20:37
  • $\begingroup$ I agree, @Artes, there is a related question. However, this one is more general, while first one was for one-time problem. I would suggest you to have a look at some free packages (knowing that you were also working on these functions). $\endgroup$ – Vladimir Feb 21 '13 at 20:42

Mathematica 9 contains some functionality for working with symbolic tensors.

Here's a list of packages in no particular order, that may have some functionality for working with symbolic tensors.

  • TensoriaCalc - intended for basic calculations in general relativity, but not finished (calculates only Christoffel symbols, Riemann and Ricci tensor). Parallel working with many metrics is possible. Symbolic calculations are not supported.

  • FeynCalc

  • grt - intended for basic calculations in general relativity, but full of bugs (only Christoffel symbols fully function). Symbolic calculations are not supported.

  • NCAlgebra, for manipulating non-commuting algebraic expressions and computing non-commutative Gröbner bases. It allows working with symbolic matrices and symbolic block matrices (e.g. symbolic block matrix inversion).

  • xAct - a package designed by researchers for large scale projects in general relativity; subpackages capable of extensive tensor manipulation (xTensor, xCoba) as well as perturbation theory in general relativity to any order (xPert). Other subpackages can also work with tensor spherical harmonics, spinor computations as well as exterior calculus (diferential forms).


  • MathTensor (non-free)

  • Tensorial (non-free)

  • Ricci (last updated Sep 2011)

  • diffgeo (free) - a very simple package for differential geometry. Works only with given basis and metric

  • GREATER2 (free) - a simple package for tensorial calculations. Aimed more at physicists where e.g. the metric can be input as a line element.

See also the Wikipedia page on Tensor Software.

  • $\begingroup$ I marked this as community wiki so everyone can edit. If you have used any of these, please edit this post and add a short description. This question could be repurposed to be a list of tensor-related packages, explaining what each one can or cannot do, so people who are looking for this functionality can more easily decide which one to try. Symbolic tensors or matrices are a common question, so this will be useful to have. $\endgroup$ – Szabolcs Feb 21 '13 at 14:49
  • $\begingroup$ Also feel free to remove packages from the list if you have tried them and found them significantly wanting. A list of the best, with short descriptions of what they're meant for, is much more useful than an exhaustive list. $\endgroup$ – Szabolcs Feb 21 '13 at 21:08
  • $\begingroup$ Very nice idea! $\endgroup$ – Dr. belisarius Feb 22 '13 at 2:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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