May 25, 2001
These lectures give a brief introduction to the Computer Algebra systems Reduce and Maple. The aim is to provide a systematic survey of most important commands and concepts. In particular, this includes a discussion of simplification schemes and the handling of simplification and substitution rules (e.g., a Lie Algebra is implemented in Reduce by means of simplification rules). Another emphasis is on the different implementations of tensor calculi and the exterior calculus ...
May 4, 2009
In this paper, we present a partial survey of the tools borrowed from tensor algebra, which have been utilized recently in Statistics and Signal Processing. It is shown why the decompositions well known in linear algebra can hardly be extended to tensors. The concept of rank is itself difficult to define, and its calculation raises difficulties. Numerical algorithms have nevertheless been developed, and some are reported here, but their limitations are emphasized. These repor...
August 17, 2010
In this paper we propose a general spectral theory for tensors. Our proposed factorization decomposes a tensor into a product of orthogonal and scaling tensors. At the same time, our factorization yields an expansion of a tensor as a summation of outer products of lower order tensors . Our proposed factorization shows the relationship between the eigen-objects and the generalised characteristic polynomials. Our framework is based on a consistent multilinear algebra which expl...
August 15, 2013
We present the tensor computer algebra package xTras, which provides functions and methods frequently needed when doing (classical) field theory. Amongst others, it can compute contractions, make Ans\"atze, and solve tensorial equations. It is built upon the tensor computer algebra system xAct, a collection of packages for Mathematica.
November 25, 2023
Tensors play a pivotal role in the realms of science and engineering, particularly in the realms of data analysis, machine learning, and computational mathematics. The process of unfolding a tensor into matrices, commonly known as tensor unfolding or matricization, serves as a valuable technique for simplifying the representation of tensors with higher orders. In this study, we initially derive unfolded matrices from a specified tensor over a B{'e}zout ring using a matrix equ...
June 6, 2013
We introduce the MathGR package, written in Mathematica. The package can 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. Frequently used GR tensors and a model of FRW universe with ADM type perturbations are predefined. The package is built around the philosop...
March 12, 2021
We propose a new numerical algorithm for computing the tensor rank decomposition or canonical polyadic decomposition of higher-order tensors subject to a rank and genericity constraint. Reformulating this computational problem as a system of polynomial equations allows us to leverage recent numerical linear algebra tools from computational algebraic geometry. We characterize the complexity of our algorithm in terms of an algebraic property of this polynomial system -- the mul...
March 5, 2016
These are general notes on tensor calculus which can be used as a reference for an introductory course on tensor algebra and calculus. A basic knowledge of calculus and linear algebra with some commonly used mathematical terminology is presumed.
December 5, 2023
The tensor notation used in several areas of mathematics is a useful one, but it is not widely available to the functional programming community. In a practical sense, the (embedded) domain-specific languages (DSLs) that are currently in use for tensor algebra are either 1. array-oriented languages that do not enforce or take advantage of tensor properties and algebraic structure or 2. follow the categorical structure of tensors but require the programmer to manipulate tensor...
February 21, 2017
In this paper, we propose a method for importing tensor index notation, including Einstein summation notation, into functional programming. This method involves introducing two types of parameters, i.e, scalar and tensor parameters, and simplified tensor index rules that do not handle expressions that are valid only for the Cartesian coordinate system, in which the index can move up and down freely. An example of such an expression is "c = A_i B_i". As an ordinary function, w...