123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- \documentstyle[11pt,reduce]{article}
- \title{A \REDUCE{} package for Symmetry}
- \date{}
- \author{Karin Gatermann\\
- Konrad-Zuse-Zentrum f\"ur Informationstechnik Berlin\\
- Heilbronner Str.\ 10\\
- 1000 Berlin 31\\
- Federal Republic of Germany\\
- E--mail: gatermann@sc.zib-berlin.de}
- \begin{document}
- \maketitle
- \index{SYMMETRY package}
- This short note describes a package of \REDUCE{} procedures
- that computes symmetry-adapted bases and block diagonal forms
- of matrices which have the symmetry of a group.
- The SYMMETRY package is the implementation
- of the theory of linear representations
- for small finite groups such as the dihedral groups.
- \section{Introduction}
- The exploitation of symmetry is a very important principle in mathematics,
- physics and engineering sciences.
- The aim of the SYMMETRY package is to give an easy access to the
- underlying theory of linear representations for small groups. For
- example the
- dihedral groups $D_3,D_4,D_5,D_6$ are included.
- For an introduction to the theory see {\sc Serre} \cite{Se77} or
- {\sc Stiefel} and {\sc F\"assler} \cite{StFae79}.
- For a given orthogonal (or unitarian) linear representation
- \[
- \vartheta : G\longrightarrow GL(K^n), \qquad K=R,C.
- \]
- the character $\psi\rightarrow K$, the
- canonical decomposition or the bases of the isotypic
- components are computed. A matrix $A$ having the symmetry of a linear
- representation,e.g.
- \[
- \vartheta_t A = A \vartheta_t \quad \forall \, t\in G,
- \]
- is transformed to block diagonal form by a coordinate
- transformation.
- The dependence of the algorithm on the
- field of real or complex numbers is controled by the switch {\tt complex}.
- An example for this is given in the testfile {\em symmetry.tst}.
- As the algorithm needs information concerning the irreducible representations
- this information is stored for some groups (see the operators in Section 3).
- It is assumed that only orthogonal (unitar) representations are given.
- The package is loaded by
- {\tt load symmetry;}
- \section{Operators for linear representations}
- First the data structure for a linear representation has to be explained.
- {\em representation} is a list consisting of the group identifier and
- equations which assign matrices to the generators of the group.
- {\bf Example:}
- \begin{verbatim}
- rr:=mat((0,1,0,0),
- (0,0,1,0),
- (0,0,0,1),
- (1,0,0,0));
- sp:=mat((0,1,0,0),
- (1,0,0,0),
- (0,0,0,1),
- (0,0,1,0));
- representation:={D4,rD4=rr,sD4=sp};
- \end{verbatim}
- For orthogonal (unitarian) representations the following operators
- are available.
- {\tt canonicaldecomposition(representation);}
- returns an equation giving the canonical decomposition of the linear
- representation.
- {\tt character(representation);}
- computes the character of the linear representation. The result is a list
- of the group identifier and of lists consisting of a
- list of group elements in one equivalence class and a real or complex number.
- {\tt symmetrybasis(representation,nr);}
- computes the basis of the isotypic component corresponding to the irreducible
- representation of type nr. If the nr-th irreducible representation is
- multidimensional, the basis is symmetry adapted. The output is a matrix.
-
- {\tt symmetrybasispart(representation,nr);}
- is similiar as {\tt symmetrybasis}, but for multidimensional
- irreducible representations only the first part of the
- symmetry adapted basis is computed.
- {\tt allsymmetrybases(representation);}
- is similiar as {\tt symmetrybasis} and {\tt symmetrybasispart},
- but the bases of all
- isotypic components are computed and thus a
- complete coordinate transformation is returned.
- {\tt diagonalize(matrix,representation);}
- returns the block diagonal form of matrix which has the symmetry
- of the given linear representation. Otherwise an error message occurs.
- {\tt on complex;}
- Of course the property of irreducibility depends on the field $K$ of
- real or complex numbers. This is why the algorithm depends on $K$.
- The type of computation is set by the switch {\em complex}.
- \section{Display Operators}
- In this section the operators are described which give access to the
- stored information for a group.
- First the operators for the abstract groups are given.
- Then it is described how to get the irreducible representations
- for a group.
- {\tt availablegroups();}
- returns the list of all groups for which the information such as
- irreducible representations is stored. In the following {\tt group}
- is always one of these group identifiers.
- {\tt printgroup(group);}
- returns the list of all group elements;
- {\tt generators(group);}
- returns a list of group elements which generates the group. For the
- definition of a linear representation matrices for these generators
- have to be defined.
- {\tt charactertable(group);}
- returns a list of the characters corresponding to the irreducible
- representations of this group.
- {\tt charactern(group,nr);}
- returns the character corresponding to the nr-th irreducible representation
- of this group as a list (see also {\tt character}).
- {\tt irreduciblereptable(group);}
- returns the list of irreducible representations of the group.
- {\tt irreduciblerepnr(group,nr);}
- returns an irreducible representation of the group. The output
- is a list of the group identifier and equations
- assigning the representation matrices to group elements.
- \section{Storing a new group}
- If the user wants to do computations for a group for which
- information is not predefined,
- the package SYMMETRY offers the possibility to supply information
- for this group.
- For this the following data structures are used.
- {\bf elemlist} = list of identifiers.
- {\bf relationlist} = list of equations with identifiers and
- operators $@$ and $**$.
- {\bf grouptable} = matrix with the (1,1)-entry grouptable.
- {\bf filename} = "myfilename.new".
- \vspace{2cm}
- The following operators have to be used in this order.
- {\tt setgenerators(group,elemlist,relationlist);}
- {\bf Example:}
- \begin{verbatim}
- setgenerators(K4,{s1K4,s2K4},
- {s1K4^2=id,s2K4^2=id,s1K4@s2K4=s2K4@s1K4});
- \end{verbatim}
- {\bf setelements(group,relationlist);}
- The group elements except the neutral element
- are given as product of the defined
- generators. The neutral element is always called {\tt id}.
- {\bf Example:}
- \begin{verbatim}
- setelements(K4,
- {s1K4=s1K4,s2K4=s2K4,rK4=s1K4@s2K4});
- \end{verbatim}
- {\bf setgrouptable(group,grouptable);}
- installs the group table.
- {\bf Example:}
- \begin{verbatim}
- tab:=
- mat((grouptable, id, s1K4, s2K4, rK4),
- (id , id, s1K4, s2K4, rK4),
- (s1K4 , s1K4, id, rK4,s2K4),
- (s2K4 , s2K4, rK4, id,s1K4),
- (rK4 , rK4, s2K4, s1K4, id));
- setgrouptable(K4,tab);
- \end{verbatim}
- {\bf Rsetrepresentation(representation,type);}
- is used to define the real irreducible representations of the group.
- The variable {\tt type} is either {\em realtype} or {\em complextype}
- which indicates the type of the real irreducible representation.
- {\bf Example:}
- \begin{verbatim}
- eins:=mat((1));
- mineins:=mat((-1));
- rep3:={K4,s1K4=eins,s2K4=mineins};
- Rsetrepresentation(rep3,realtype);
- \end{verbatim}
- {\bf Csetrepresentation(representation);}
- This defines the complex irreducible representations.
- {\bf setavailable(group);}
- terminates the installation of the group203. It checks some properties of the
- irreducible representations and makes the group available for the
- operators in Sections 2 and 3.
- {\bf storegroup(group,filename);}
- writes the information concerning the group to the file with name
- {\em filename}.
- {\bf loadgroups(filename);}
- loads a user defined group from the file {\em filename} into
- the system.
- \begin{thebibliography}{5}
- \bibitem{JaKer81} G.\ James, A.\ Kerber: {\it Representation Theory
- of the Symmetric Group.} Addison, Wesley (1981).
- \bibitem{LuFal88} W.\ Ludwig, C.\ Falter: {\it Symmetries in Physics.}
- Springer, Berlin, Heidelberg, New York (1988).
- \bibitem{Se77} J.--P.\ Serre, {\it Linear Representations of Finite
- Groups}. Springer, New~York (1977).
- \bibitem{StFae79} E.\ Stiefel, A.\ F{\"a}ssler, {\it Gruppentheoretische
- Methoden und ihre Anwendung}. Teubner, Stuttgart (1979).
- (English translation to appear by Birkh\"auser (1992)).
- \end{thebibliography}
- \end{document}
|