gives the rank of tensor.

Details and Options

  • TensorRank accepts any type of tensor, either symbolic or explicit, including any type of array.
  • On explicit rectangular arrays of scalars, TensorRank coincides with ArrayDepth. On symbolic arrays, TensorRank stays unevaluated unless the array has been assigned a rank through any form of assumption.


open allclose all

Basic Examples  (1)

Rank of an array:

Rank of a tensor product of two tensors:

Rank of a contraction:

Scope  (3)

Rank or depth of explicit arrays:

Rank of symbolic arrays:

Rank of general tensor expressions:

Options  (1)

Assumptions  (1)

Specify locally the domain of a symbolic array:

Properties & Relations  (2)

On explicit arrays, TensorRank coincides with ArrayDepth:

For symbolic expressions, there is no default rank assumed:

Use assumptions to assign a rank to the array:

Possible Issues  (3)

TensorRank can obtain some information contextually. Expressions without tensor properties inside numeric functions, arrays, or derivatives are considered scalars:

It is not possible to mix incompatible local and global assumptions:

TensorRank does not check for dimensions homogeneity, only rank homogeneity:

This alternative construction would check for dimensions homogeneity:

Introduced in 2012