Symmetric[{s1,…,sn}]
represents the symmetry of a tensor that is symmetric in the slots si.
Symmetric
Symmetric[{s1,…,sn}]
represents the symmetry of a tensor that is symmetric in the slots si.
Details
- The slots si must be different positive numbers. The order of the list is irrelevant.
- Symmetric[{}] and Symmetric[{s}] are both equivalent to the identity symmetry.
- Symmetric[All] represents the symmetry of a tensor that is symmetric in all its slots.
- If an array is symmetric in a set of slots, then all those slots have the same dimension.
Examples
open all close allBasic Examples (2)
TensorSymmetry[{{{2, 9}, {9, 2}}, {{9, 2}, {2, 4}}}]Declare a rank-4 array to be symmetric in three slots:
$Assumptions = A∈Arrays[{4, 4, 4, 4}, Reals, Symmetric[{1, 2, 4}]];Then any transposition involving those slots is equivalent to the original tensor:
TensorTranspose[A, Cycles[{{2, 4}}]]//TensorReduceScope (3)
Symmetry in all slots of a symbolic array:
$Assumptions = A∈Arrays[{3, 3, 3, 3}, Reals, Symmetric[{1, 2, 3, 4}]];TensorTranspose[A, {4, 1, 2, 3}]//TensorReduceIt can also be specified as follows:
$Assumptions = A∈Arrays[{3, 3, 3, 3}, Reals, Symmetric[All]];TensorTranspose[A, {4, 1, 2, 3}]//TensorReduceSymmetry in the given slots of a symbolic array:
$Assumptions = A∈Arrays[{3, 3, 3, 3}, Reals, Symmetric[{1, 2, 4}]];TensorTranspose[A, {4, 1, 2, 3}]//TensorReduceSymmetric[{}] and Symmetric[{s}] are representations of the absence of symmetry:
SymmetrizedArray[pos_ :> RandomInteger[100], {3, 3, 3}, Symmetric[{}]]Such cases are canonicalized to an empty list of generators:
TensorSymmetry[%]Applications (3)
Specify the symmetry of a symmetrized array:
SymmetrizedArray[{{1, 2, 3} -> a, {2, 3, 4} -> b}, {4, 4, 4}, Symmetric[{1, 2, 3}]]Normal[%]TensorSymmetry[%]Specify the symmetry of a symbolic array:
$Assumptions = A∈Arrays[{4, 4, 4}, Symmetric[{1, 2, 3}]];TensorSymmetry[A]Symmetrize several slots of an array:
A = Array[a, {2, 2, 2}]Symmetrize[A, Symmetric[{1, 3}]]//NormalProperties & Relations (3)
SeedRandom[0];
RandomInteger[100, {5, 5}]A = % + Transpose[%]Transpose[A] === ASymmetricMatrixQ[A]TensorSymmetry[A]A symmetric tensor can also be specified by providing explicit generators with phase
:
sym = {{{2, 3, 4, 5, 1}, 1}, {{2, 1, 3, 4, 5}, 1}};
$Assumptions = A∈Arrays[{d, d, d, d, d}, Reals, sym];The Wolfram Language automatically detects the equivalence:
TensorSymmetry[A]Overlapping sets of symmetric slots give full symmetry over all those slots:
sym = {Symmetric[{1, 2, 3}], Symmetric[{3, 4, 5, 6}]};
A = SymmetrizedArray[pos_ :> RandomReal[], {2, 2, 2, 2, 2, 2}, sym]TensorSymmetry[A]Non-overlapping sets do not give full symmetry. The resulting symmetry is described using generators:
sym = {Symmetric[{1, 2}], Symmetric[{3, 4, 5, 6}]};
$Assumptions = B∈Arrays[{d, d, d, d, d, d}, Reals, sym];TensorSymmetry[B]Tech Notes
Related Guides
History
Text
Wolfram Research (2012), Symmetric, Wolfram Language function, https://reference.wolfram.com/language/ref/Symmetric.html.
CMS
Wolfram Language. 2012. "Symmetric." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Symmetric.html.
APA
Wolfram Language. (2012). Symmetric. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Symmetric.html
BibTeX
@misc{reference.wolfram_2026_symmetric, author="Wolfram Research", title="{Symmetric}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/Symmetric.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_symmetric, organization={Wolfram Research}, title={Symmetric}, year={2012}, url={https://reference.wolfram.com/language/ref/Symmetric.html}, note=[Accessed: 13-June-2026]}