Tensor software

Last updated

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

Contents

Standalone software

Software for use with Mathematica

Software for use with Maple

Software for use with Matlab

Software for use with Maxima

Maxima [25] is a free open source general purpose computer algebra system which includes several packages for tensor algebra calculations in its core distribution. 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: [26]

Software for use with R

Software for use with Python

Software for use with Julia

Software for use with SageMath

Software for use with Java

Libraries

Related Research Articles

<span class="mw-page-title-main">Differential geometry</span> Branch of mathematics dealing with functions and geometric structures on differentiable manifolds

Differential geometry is a mathematical discipline that studies the geometry of smooth shapes and smooth spaces, otherwise known as smooth manifolds. It uses the techniques of differential calculus, integral calculus, linear algebra and multilinear algebra. The field has its origins in the study of spherical geometry as far back as antiquity. It also relates to astronomy, the geodesy of the Earth, and later the study of hyperbolic geometry by Lobachevsky. The simplest examples of smooth spaces are the plane and space curves and surfaces in the three-dimensional Euclidean space, and the study of these shapes formed the basis for development of modern differential geometry during the 18th and 19th centuries.

<span class="mw-page-title-main">Tensor</span> Algebraic object with geometric applications

In mathematics, a tensor is an algebraic object that describes a multilinear relationship between sets of algebraic objects related to a vector space. Tensors may map between different objects such as vectors, scalars, and even other tensors. There are many types of tensors, including scalars and vectors, dual vectors, multilinear maps between vector spaces, and even some operations such as the dot product. Tensors are defined independent of any basis, although they are often referred to by their components in a basis related to a particular coordinate system; those components form an array, which can be thought of as a high-dimensional matrix.

A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.

<span class="mw-page-title-main">Maple (software)</span> Mathematical computing environment

Maple is a symbolic and numeric computing environment as well as a multi-paradigm programming language. It covers several areas of technical computing, such as symbolic mathematics, numerical analysis, data processing, visualization, and others. A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.

In multilinear algebra, a tensor contraction is an operation on a tensor that arises from the canonical pairing of a vector space and its dual. In components, it is expressed as a sum of products of scalar components of the tensor(s) caused by applying the summation convention to a pair of dummy indices that are bound to each other in an expression. The contraction of a single mixed tensor occurs when a pair of literal indices of the tensor are set equal to each other and summed over. In Einstein notation this summation is built into the notation. The result is another tensor with order reduced by 2.

<span class="mw-page-title-main">Exterior algebra</span> Algebra of exterior/ wedge products

In mathematics, the exterior algebra or Grassmann algebra of a vector space is an associative algebra that contains which has a product, called exterior product or wedge product and denoted with , such that for every vector in The exterior algebra is named after Hermann Grassmann, and the names of the product come from the "wedge" symbol and the fact that the product of two elements of is "outside"

Multilinear algebra is the study of functions with multiple vector-valued arguments, with the functions being linear maps with respect to each argument. It involves concepts such as matrices, tensors, multivectors, systems of linear equations, higher-dimensional spaces, determinants, inner and outer products, and dual spaces. It is a mathematical tool used in engineering, machine learning, physics, and mathematics.

In mathematics, the modern component-free approach to the theory of a tensor views a tensor as an abstract object, expressing some definite type of multilinear concept. Their properties can be derived from their definitions, as linear maps or more generally; and the rules for manipulations of tensors arise as an extension of linear algebra to multilinear algebra.

In mathematics and physics, a tensor field assigns a tensor to each point of a mathematical space. Tensor fields are used in differential geometry, algebraic geometry, general relativity, in the analysis of stress and strain in materials, and in numerous applications in the physical sciences. As a tensor is a generalization of a scalar and a vector, a tensor field is a generalization of a scalar field or vector field that assigns, respectively, a scalar or vector to each point of space. If a tensor A is defined on a vector fields set X(M) over a module M, we call A a tensor field on M.

This is a glossary of tensor theory. For expositions of tensor theory from different points of view, see:

When studying and formulating Albert Einstein's theory of general relativity, various mathematical structures and techniques are utilized. The main tools used in this geometrical theory of gravitation are tensor fields defined on a Lorentzian manifold representing spacetime. This article is a general description of the mathematics of general relativity.

In the mathematical fields of Riemannian and pseudo-Riemannian geometry, the Ricci decomposition is a way of breaking up the Riemann curvature tensor of a Riemannian or pseudo-Riemannian manifold into pieces with special algebraic properties. This decomposition is of fundamental importance in Riemannian and pseudo-Riemannian geometry.

<span class="mw-page-title-main">Penrose graphical notation</span> Graphical notation for multilinear algebra calculations

In mathematics and physics, Penrose graphical notation or tensor diagram notation is a visual depiction of multilinear functions or tensors proposed by Roger Penrose in 1971. A diagram in the notation consists of several shapes linked together by lines.

<span class="mw-page-title-main">SageMath</span> Computer algebra system

SageMath is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentiable manifolds, numerical analysis, number theory, calculus and statistics.

The tetrad formalism is an approach to general relativity that generalizes the choice of basis for the tangent bundle from a coordinate basis to the less restrictive choice of a local basis, i.e. a locally defined set of four linearly independent vector fields called a tetrad or vierbein. It is a special case of the more general idea of a vielbein formalism, which is set in (pseudo-)Riemannian geometry. This article as currently written makes frequent mention of general relativity; however, almost everything it says is equally applicable to (pseudo-)Riemannian manifolds in general, and even to spin manifolds. Most statements hold simply by substituting arbitrary for . In German, "vier" translates to "four", and "viel" to "many".

References

  1. "SPLATT - Parallel Sparse Tensor Decomposition | Karypis Lab".
  2. "Cadabra: A field-theory motivated approach to computer algebra".
  3. http://www.ava.fmi.fi/prog/tela.html Tela
  4. "Cartan: A Mathematica package for tensor analysis". Archived from the original 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. Shoshany, Barak (2021). "OGRe: An Object-Oriented General Relativity Package for Mathematica". Journal of Open Source Software. 6 (65). The Open Journal: 3416. doi:10.21105/joss.03416. https://github.com/bshoshany/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".
  19. "Overview of the Physics Package - Maple Programming Help".
  20. "Tensorlab | A Matlab package for tensor computations".
  21. http://sandia.gov/~tgkolda/TensorToolbox Tensor Toolbox
  22. http://www.mathworks.com/matlabcentral/fileexchange/26168 MPCA and MPCA+LDA
  23. UMPCA
  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 , retrieved 2016-12-10
  28. Wells, James Li and Jacob Bien and Martin (2015-12-15), rTensor: Tools for Tensor Analysis and Decomposition , retrieved 2016-12-10
  29. Tsuyuzaki, Koki (2020-06-04), nnTensor: Non-Negative Tensor Decomposition , retrieved 2021-03-04
  30. Tsuyuzaki, Koki (2019-03-06), ttTensor: Tensor-Train Decomposition , retrieved 2021-03-04
  31. Khan, Suleiman A.; Ammad-ud-din, Muhammad (2016-12-29), tensorBF: Bayesian Tensor Factorization , 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 . doi:10.1007/s10994-016-5563-y. ISSN   0885-6125. S2CID   11871330.
  33. Kossaifi, Jean; Panagakis, Yannis; Anandkumar, Anima; Pantic, Maja (2019). "TensorLy: Tensor Learning in Python". Journal of Machine Learning Research. 20 (26): 1–6.
  34. https://github.com/bshoshany/OGRePy
  35. yunjhongwu/TensorDecompositions.jl, 2018-09-16, retrieved 2021-03-04
  36. Periša, Lana; Arslan, Alex (2019-11-13), lanaperisa/TensorToolbox.jl, doi:10.5281/zenodo.3540787 , retrieved 2021-03-04
  37. Fishman, Matthew; Shite, Steven R.; Stoudenmire, E. Miles (2020-06-28). "The ITensor Software Library for Tensor Network Calculations". Mathematical Software. arXiv: 2007.14822v1 .
  38. Jutho/TensorOperations.jl, 2020-11-23, retrieved 2021-03-04
  39. Nakano, Hayate (2021-02-23), ho-oto/TensorRules.jl , retrieved 2021-03-04
  40. http://sagemanifolds.obspm.fr/ SageManifolds
  41. Gibson, Adam (2017-11-11), ND4J: N-dimensional arrays for the JVM , retrieved 2016-12-10
  42. Homepage: http://redberry.cc . Redberry project at Bitbucket: http://bitbucket.org/redberry/redberry
  43. https://github.com/ilyak/libxm libxm
  44. http://www.wlandry.net/Projects/FTensor FTensor
  45. http://www.cepremap.cnrs.fr/juillard/mambo/download/manual/dynare++/tl.pdf TL
  46. https://vmml.github.com/vmmlib/ vmmlib
  47. http://aleph0.info/spartns/ Spartns
  48. http://www.cimec.org.ar/petscfem FastMat
  49. "Fork of cyclops-community/ctf repository updated haphazardly, previously this was main repo location: Solomonik/ctf". GitHub . 2018-10-31.
  50. "A massively-parallel, block-sparse tensor framework written in C++: ValeevGroup/tiledarray". GitHub . 2019-02-03.
  51. "Downloads - iOpenShell".
  52. "ITensor - Intelligent Tensor Library".
  53. "A light-weight high performance SIMD based tensor algebra framework in C++11/14/17: Romeric/Fastor". GitHub . 2019-01-11.
  54. "Xerus Documentation - Xerus".