# SymmetrizedArray

SymmetrizedArray[{pos1->val1,pos->val2,},dims,sym]

yields an array of dimensions dims whose entries are given by those in the rules posivali or through the symmetry sym.

SymmetrizedArray[list]

yields a symmetrized array version of list.

# Details

• 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 {pos1->val1,pos2->val2,}.
• ArrayRules[SymmetrizedArray[]] gives the list of both dependent and independent rules {pos1->val1,pos2->val2,}.
• The elements in a SymmetrizedArray object need not be numeric.
• The position specifications posi can contain patterns.
• With rules posi:>vali, the vali are evaluated separately for each independent component that matches posi.
• 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.

# Examples

open allclose all

## Basic Examples(2)

Construct an antisymmetric array:

 In[1]:=
 Out[1]=

Convert it to an ordinary matrix:

 In[2]:=
 Out[2]=

Convert an array with symmetry into its symmetrized form:

 In[1]:=
 Out[1]=

These are its independent components:

 In[2]:=
 Out[2]=