SymmetrizedArray

SymmetrizedArray[{pos1->val1,pos->val2,},dims,sym]
yields an array of dimensions dims whose entries are given by those in the rules or through the symmetry sym.

SymmetrizedArray[list]
yields a symmetrized array version of list.

DetailsDetails

  • SymmetrizedArray takes unspecified elements to be 0.
  • SymmetrizedArray[data,] is converted to an expression of the form StructuredArray[SymmetrizedArray,dims,structureddata], where structureddata contains the symmetry and independent component rules corresponding to the input.
  • Normal[SymmetrizedArray[]] gives the ordinary array corresponding to a symmetrized array object.
  • SymmetrizedArrayRules[SymmetrizedArray[]] gives the list of independent rules .
  • ArrayRules[SymmetrizedArray[]] gives the list of both dependent and independent rules .
  • The elements in a SymmetrizedArray object need not be numeric.
  • The position specifications can contain patterns.
  • With rules , the are evaluated separately for each independent component that matches .
  • SymmetrizedArray[list] requires that list be a full array, with all parts at a particular level being lists of the same length.
  • The individual elements of a symmetrized array cannot themselves be lists.
  • SymmetrizedArray[rules] yields a symmetrized array, with dimensions exactly large enough to include elements whose positions have been explicitly specified.
  • StructuredArray[SymmetrizedArray,] is treated as a raw object by functions like AtomQ and for purposes of pattern matching.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

Construct an antisymmetric array:

In[1]:=
Click for copyable input
Out[1]=

Convert it to an ordinary matrix:

In[2]:=
Click for copyable input
Out[2]=

Convert an array with symmetry into its symmetrized form:

In[1]:=
Click for copyable input
Out[1]=

These are its independent components:

In[2]:=
Click for copyable input
Out[2]=
Introduced in 2012
(9.0)