Tensor software

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Tensor software is a class of mathematical software designed for manipulation and calculation with tensors.

Standalone software[edit]

  • SPLATT[1] is an open source software package for high-performance sparse tensor factorization. SPLATT ships a stand-alone executable, C/C++ library, and Octave/MATLAB API.
  • Cadabra[2] is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory. It has extensive functionality for 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.
  • Tela[3] is a software package similar to Matlab and Octave, but designed specifically for tensors.
  • Maxima[4] is a free open source computer algebra system which can be used for tensor algebra calculations - it is particularly useful for calculations with abstract tensors (i.e. when one wishes to do calculations without defining all components of the tensor explicitly). It comes with three tensor packages: itensor for abstract (indicial) tensor manipulation, ctensor for component-defined tensors, and atensor for algebraic tensor manipulation.[5]

Software for use with Mathematica[edit]

  • Tensor[6] is a tensor package written for the Mathematica system. It provides many functions relevant for General Relativity calculations in general Riemann-Cartan geometries.
  • Ricci[7] is a system for Mathematica 2.x and later for doing basic tensor analysis, available for free.
  • TTC[8] Tools of Tensor Calculus is a Mathematica package for doing tensor and exterior calculus on differentiable manifolds.
  • EDC and RGTC,[9] "Exterior Differential Calculus" and "Riemannian Geometry & Tensor Calculus," are free Mathematica packages for tensor calculus especially designed but not only for general relativity.
  • Tensorial[10] "Tensorial 4.0" is a general purpose tensor calculus package for Mathematica.
  • xAct:[11] Efficient Tensor Computer Algebra for Mathematica. xAct is a collection of packages for fast manipulation of tensor expressions.
  • GREAT[12] is a free package for Mathematica that computes the Christoffel connection and the basic tensors of General Relativity from a given metric tensor.
  • Atlas 2 for Mathematica[13] is a powerful Mathematica toolbox which allows to do a wide range of modern differential geometry calculations
  • GRTensorM[14] is a computer algebra package for performing calculations in the general area of differential geometry.
  • MathGR[15] is a package to manipulate tensor and GR calculations with either abstract or explicit indices, simplify tensors with permutational symmetries, decompose tensors from abstract indices to partially or completely explicit indices and convert partial derivatives into total derivatives.
  • TensoriaCalc[16] is a tensor calculus package written for Mathematica 9 and higher, aimed at providing user-friendly functionality and a smooth consistency with the Mathematica language itself. As of January 2015, given a metric and the coordinates used, TensoriaCalc can compute Christoffel symbols, the Riemann curvature tensor, and Ricci tensor/scalar; it allows for user-defined tensors and is able to perform basic operations such as taking the covariant derivatives of tensors. TensoriaCalc is continuously under development due to time constraints faced by its inventor/developer.

Software for use with Maple[edit]

  • GRTensorII[17] is a computer algebra package for performing calculations in the general area of differential geometry.
  • Atlas 2 for Maple[18] is a modern differential geometry for Maple.
  • DifferentialGeometry[19] is a package which performs fundamental operations of calculus on manifolds, differential geometry, tensor calculus, General Relativity, Lie algebras, Lie groups, transformation groups, jet spaces, and the variational calculus. It is included with Maple.

Software for use with Matlab[edit]


  • Redberry[24] is an open source computer algebra system designed for symbolic tensor manipulation. Redberry provides common tools for expression manipulation, generalized on tensorial objects, as well as tensor-specific features: indices symmetries, LaTeX-style input, natural dummy indices handling, multiple index types etc. The HEP package includes tools for Feynman diagrams calculation: Dirac and SU(N) algebra, Levi-Civita simplifications, tools for calculation of one-loop counterterms etc. Redberry is written in Java and provides extensive Groovy-based programming language.
  • FTensor[25] is a high performance tensor library written in C++.
  • TL[26] is a multi-threaded tensor library implemented in C++ used in Dynare++. The library allows for folded/unfolded, dense/sparse tensor representations, general ranks (symmetries). The library implements Faa Di Bruno formula and is adaptive to available memory. Dynare++ is a standalone package solving higher order Taylor approximations to equilibria of non-linear stochastic models with rational expectations.
  • vmmlib[27] is a C++ linear algebra library that supports 3-way tensors, emphasizing computation and manipulation of several tensor decompositions.
  • Spartns[28] is a Sparse Tensor framework for Common Lisp.
  • FAstMat[29] is a thread-safe general tensor algebra library written in C++ and specially designed for FEM/FVM/BEM/FDM element/edge wise computations.


  1. ^ http://www-users.cs.umn.edu/~shaden/software/splatt/
  2. ^ http://cadabra.phi-sci.com
  3. ^ http://www.ava.fmi.fi/prog/tela.html Tela
  4. ^ http://maxima.sourceforge.net/ Maxima
  5. ^ http://maxima.sourceforge.net/docs/manual/en/maxima_27.html#SEC90 The itensor Package Guide
  6. ^ http://www.adinfinitum.no/cartan Tensors in Physics
  7. ^ http://www.math.washington.edu/~lee/Ricci/ Ricci
  8. ^ http://baldufa.upc.es/xjaen/ttc/index.htm TTC
  9. ^ http://www.inp.demokritos.gr/~sbonano/RGTC/ EDC and RGTC
  10. ^ http://home.comcast.net/~djmpark/TensorialPage.html Tensorial
  11. ^ http://www.xact.es/ xAct
  12. ^ http://library.wolfram.com/infocenter/MathSource/4781/ GREAT
  13. ^ http://digi-area.com/Mathematica/atlas/ atlas 2 for Mathematica
  14. ^ http://grtensor.phy.queensu.ca/ GRTensorII
  15. ^ https://github.com/tririver/MathGR; http://arxiv.org/abs/1306.1295 MathGR
  16. ^ http://www.stargazing.net/yizen/Tensoria.html TensoriaCalc
  17. ^ http://grtensor.phy.queensu.ca/ GRTensorII
  18. ^ http://digi-area.com/Maple/atlas/ atlas 2 for Maple
  19. ^ http://digitalcommons.usu.edu/dg/
  20. ^ http://sandia.gov/~tgkolda/TensorToolbox Tensor Toolbox
  21. ^ http://www.mathworks.com/matlabcentral/fileexchange/26168 MPCA and MPCA+LDA
  22. ^ UMPCA
  23. ^ http://www.mathworks.com/matlabcentral/fileexchange/35782 UMLDA
  24. ^ Homepage: http://redberry.cc . Redberry project at Bitbucket: http://bitbucket.org/redberry/redberry
  25. ^ http://www.wlandry.net/Projects/FTensor FTensor
  26. ^ http://www.cepremap.cnrs.fr/juillard/mambo/download/manual/dynare++/tl.pdf TL
  27. ^ http://vmml.github.com/vmmlib/ vmmlib
  28. ^ http://aleph0.info/spartns/ Spartns
  29. ^ http://www.cimec.org.ar/petscfem FastMat