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.

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 natural pairing of a finite-dimensional 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.

Multilinear algebra is a subfield of mathematics that extends the methods of linear algebra. Just as linear algebra builds on the concept of a vector and develops the theory of vector spaces, multilinear algebra builds on the concepts of p-vectors and multivectors with Grassmann algebras.

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:

In mathematics, tensor calculus, tensor analysis, or Ricci calculus is an extension of vector calculus to tensor fields.

<span class="mw-page-title-main">Mathematics of general relativity</span> Mathematical structures and techniques used in the theory of general relativity

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.

<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. The notation has been studied extensively by Predrag Cvitanović, who used it, Feynman's diagrams and other related notations in developing birdtracks to classify the classical Lie groups. Penrose's notation has also been generalized using representation theory to spin networks in physics, and with the presence of matrix groups to trace diagrams in linear algebra. The notation widely appears in modern quantum theory, particularly in matrix product states and quantum circuits.

<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, numerical analysis, number theory, calculus and statistics.

<span class="mw-page-title-main">Multilinear subspace learning</span> Approach to dimensionality reduction

Multilinear subspace learning is an approach for disentangling the causal factor of data formation and performing dimensionality reduction. The Dimensionality reduction can be performed on a data tensor that contains a collection of observations have been vectorized, or observations that are treated as matrices and concatenated into a data tensor. Here are some examples of data tensors whose observations are vectorized or whose observations are matrices concatenated into data tensor images (2D/3D), video sequences (3D/4D), and hyperspectral cubes (3D/4D).

Mathematics is a broad subject that is commonly divided in many areas that may be defined by their objects of study, by the used methods, or by both. For example, analytic number theory is a subarea of number theory devoted to the use of methods of analysis for the study of natural numbers.

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. 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".
  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. yunjhongwu/TensorDecompositions.jl, 2018-09-16, retrieved 2021-03-04
  35. Periša, Lana; Arslan, Alex (2019-11-13), lanaperisa/TensorToolbox.jl, doi:10.5281/zenodo.3540787 , 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 .
  37. Jutho/TensorOperations.jl, 2020-11-23, retrieved 2021-03-04
  38. Nakano, Hayate (2021-02-23), 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 , 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". GitHub . 2018-10-31.
  49. "A massively-parallel, block-sparse tensor framework written in C++: ValeevGroup/tiledarray". GitHub . 2019-02-03.
  50. "Downloads - iOpenShell".
  51. "ITensor - Intelligent Tensor Library".
  52. "A light-weight high performance SIMD based tensor algebra framework in C++11/14/17: Romeric/Fastor". GitHub . 2019-01-11.
  53. "Xerus Documentation - Xerus".