Tensor Software
Tensor Software
Tensor software is a class of mathematical software designed for manipulation and calculation with
tensors.
Standalone software
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 GNU Octave, but designed specifically
for tensors.
Libraries
Redberry[41] 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.
libxm[42] is a lightweight distributed-parallel tensor library written in C.
FTensor[43] is a high performance tensor library written in C++.
TL[44] 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[45] is a C++ linear algebra library that supports 3-way tensors, emphasizing
computation and manipulation of several tensor decompositions.
Spartns[46] is a Sparse Tensor framework for Common Lisp.
FAstMat[47] is a thread-safe general tensor algebra library written in C++ and specially
designed for FEM/FVM/BEM/FDM element/edge wise computations.
Cyclops Tensor Framework [48] is a distributed memory library for efficient decomposition of
tensors of arbitrary type and parallel MPI+OpenMP execution of tensor
contractions/functions.
TiledArray[49] is a scalable, block-sparse tensor library that is designed to aid in rapid
composition of high-performance algebraic tensor equation. It is designed to scale from a
single multicore computer to a massively-parallel, distributed-memory system.
libtensor [50] is a set of performance linear tensor algebra routines for large tensors found in
post-Hartree–Fock methods in quantum chemistry.
ITensor [51] features automatic contraction of matching tensor indices. It is written in C++ and
has higher-level features for quantum physics algorithms based on tensor networks.
Fastor [52] is a high performance C++ tensor algebra library that supports tensors of any
arbitrary dimensions and all their possible contraction and permutation thereof. It employs
compile-time graph search optimisations to find the optimal contraction sequence between
arbitrary number of tensors in a network. It has high level domain specific features for solving
nonlinear multiphysics problem using FEM.
Xerus [53] is a C++ tensor algebra library for tensors of arbitrary dimensions and tensor
decomposition into general tensor networks (focusing on matrix product states). It offers
Einstein notation like syntax and optimizes the contraction order of any network of tensors at
runtime so that dimensions need not be fixed at compile-time.
References
1. "SPLATT - Parallel Sparse Tensor Decomposition | Karypis Lab" (http://www-users.cs.umn.e
du/~splatt/).
2. "Cadabra: A field-theory motivated approach to computer algebra" (http://cadabra.science).
3. http://www.ava.fmi.fi/prog/tela.html Tela
4. "Cartan: A Mathematica package for tensor analysis" (https://web.archive.org/web/20090531
083427/http://www.adinfinitum.no/cartan/). Archived from the original (http://www.adinfinitum.
no/cartan) on 2009-05-31. Retrieved 2010-01-01. Tensors in Physics
5. http://www.math.washington.edu/~lee/Ricci/ Ricci
6. https://sites.google.com/view/xjaen-ttc/home TTC
7. http://www.inp.demokritos.gr/~sbonano/RGTC/ EDC and RGTC
8. http://home.comcast.net/~djmpark/TensorialPage.html Tensorial
9. http://www.xact.es/ xAct
10. http://library.wolfram.com/infocenter/MathSource/4781/ GREAT
11. http://digi-area.com/Mathematica/atlas/ atlas 2 for Mathematica
12. http://grtensor.phy.queensu.ca/ GRTensorII
13. https://github.com/tririver/MathGR; https://arxiv.org/abs/1306.1295 MathGR
14. http://www.stargazing.net/yizen/Tensoria.html TensoriaCalc
15. https://github.com/bshoshany/OGRe OGRe
16. http://grtensor.phy.queensu.ca/ GRTensorII
17. http://digi-area.com/Maple/atlas/ atlas 2 for Maple
18. "Utah State University Differential Geometry Software Project | Utah State University
Research | DigitalCommons@USU" (http://digitalcommons.usu.edu/dg/).
19. "Overview of the Physics Package - Maple Programming Help" (https://www.maplesoft.com/
support/help/Maple/view.aspx?path=Physics&cid=496).
20. "Tensorlab | A Matlab package for tensor computations" (http://www.tensorlab.net).
21. http://sandia.gov/~tgkolda/TensorToolbox Tensor Toolbox
22. http://www.mathworks.com/matlabcentral/fileexchange/26168 MPCA and MPCA+LDA
23. UMPCA (http://www.mathworks.com/matlabcentral/fileexchange/35432)
24. http://www.mathworks.com/matlabcentral/fileexchange/35782 UMLDA
25. http://maxima.sourceforge.net/ Maxima on sourceforge.net
26. http://maxima.sourceforge.net/docs/manual/en/maxima_27.html#SEC90 The itensor
Package Guide
27. Rougier, Jonathan (2012-05-05), tensor: Tensor product of arrays (https://cran.r-project.org/w
eb/packages/tensor/index.html), retrieved 2016-12-10
28. Wells, James Li and Jacob Bien and Martin (2015-12-15), rTensor: Tools for Tensor Analysis
and Decomposition (https://cran.r-project.org/web/packages/rTensor/index.html), retrieved
2016-12-10
29. Tsuyuzaki, Koki (2020-06-04), nnTensor: Non-Negative Tensor Decomposition (https://cran.r
-project.org/web/packages/nnTensor/index.html), retrieved 2021-03-04
30. Tsuyuzaki, Koki (2019-03-06), ttTensor: Tensor-Train Decomposition (https://cran.r-project.or
g/web/packages/nnTensor/index.html), retrieved 2021-03-04
31. Khan, Suleiman A.; Ammad-ud-din, Muhammad (2016-12-29), tensorBF: Bayesian Tensor
Factorization (https://cran.r-project.org/web/packages/tensorBF/index.html), retrieved
2017-01-07
32. Khan, Suleiman A.; Leppäaho, Eemeli; Kaski, Samuel (2016-06-10). "Bayesian multi-tensor
factorization". Machine Learning. 105 (2): 233–253. arXiv:1412.4679 (https://arxiv.org/abs/14
12.4679). doi:10.1007/s10994-016-5563-y (https://doi.org/10.1007%2Fs10994-016-5563-y).
ISSN 0885-6125 (https://www.worldcat.org/issn/0885-6125). S2CID 11871330 (https://api.se
manticscholar.org/CorpusID:11871330).
33. Kossaifi, Jean; Panagakis, Yannis; Anandkumar, Anima; Pantic, Maja (2019). "TensorLy:
Tensor Learning in Python" (http://jmlr.org/papers/v20/18-277.html). Journal of Machine
Learning Research. 20 (26): 1–6.
34. yunjhongwu/TensorDecompositions.jl (https://github.com/yunjhongwu/TensorDecomposition
s.jl), 2018-09-16, retrieved 2021-03-04
35. Periša, Lana; Arslan, Alex (2019-11-13), lanaperisa/TensorToolbox.jl (https://github.com/lana
perisa/TensorToolbox.jl), doi:10.5281/zenodo.3540787 (https://doi.org/10.5281%2Fzenodo.3
540787), retrieved 2021-03-04
36. Fishman, Matthew; Shite, Steven R.; Stoudenmire, E. Miles (2020-06-28). "The ITensor
Software Library for Tensor Network Calculations". Mathematical Software.
arXiv:2007.14822v1 (https://arxiv.org/abs/2007.14822v1).
37. Jutho/TensorOperations.jl (https://github.com/Jutho/TensorOperations.jl), 2020-11-23,
retrieved 2021-03-04
38. Nakano, Hayate (2021-02-23), ho-oto/TensorRules.jl (https://github.com/ho-oto/TensorRules.
jl), retrieved 2021-03-04
39. http://sagemanifolds.obspm.fr/ SageManifolds
40. Gibson, Adam (2017-11-11), ND4J: N-dimensional arrays for the JVM (http://nd4j.org/),
retrieved 2016-12-10
41. Homepage: http://redberry.cc . Redberry project at Bitbucket:
http://bitbucket.org/redberry/redberry
42. https://github.com/ilyak/libxm libxm
43. http://www.wlandry.net/Projects/FTensor FTensor
44. http://www.cepremap.cnrs.fr/juillard/mambo/download/manual/dynare++/tl.pdf TL
45. https://vmml.github.com/vmmlib/ vmmlib
46. http://aleph0.info/spartns/ Spartns
47. http://www.cimec.org.ar/petscfem FastMat
48. "Fork of cyclops-community/ctf repository updated haphazardly, previously this was main
repo location: Solomonik/ctf" (https://github.com/solomonik/ctf). GitHub. 2018-10-31.
49. "A massively-parallel, block-sparse tensor framework written in C++:
ValeevGroup/tiledarray" (https://github.com/ValeevGroup/tiledarray). GitHub. 2019-02-03.
50. "Downloads - iOpenShell" (http://iopenshell.usc.edu/downloads/tensor/).
51. "ITensor - Intelligent Tensor Library" (http://itensor.org).
52. "A light-weight high performance SIMD based tensor algebra framework in C++11/14/17:
Romeric/Fastor" (https://github.com/romeric/Fastor). GitHub. 2019-01-11.
53. "Xerus Documentation - Xerus" (https://libxerus.org).