symmetry.tex 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. \documentstyle[11pt,reduce]{article}
  2. \title{A \REDUCE{} package for Symmetry}
  3. \date{}
  4. \author{Karin Gatermann\\
  5. Konrad-Zuse-Zentrum f\"ur Informationstechnik Berlin\\
  6. Heilbronner Str.\ 10\\
  7. 1000 Berlin 31\\
  8. Federal Republic of Germany\\
  9. E--mail: gatermann@sc.zib-berlin.de}
  10. \begin{document}
  11. \maketitle
  12. \index{SYMMETRY package}
  13. This short note describes a package of \REDUCE{} procedures
  14. that computes symmetry-adapted bases and block diagonal forms
  15. of matrices which have the symmetry of a group.
  16. The SYMMETRY package is the implementation
  17. of the theory of linear representations
  18. for small finite groups such as the dihedral groups.
  19. \section{Introduction}
  20. The exploitation of symmetry is a very important principle in mathematics,
  21. physics and engineering sciences.
  22. The aim of the SYMMETRY package is to give an easy access to the
  23. underlying theory of linear representations for small groups. For
  24. example the
  25. dihedral groups $D_3,D_4,D_5,D_6$ are included.
  26. For an introduction to the theory see {\sc Serre} \cite{Se77} or
  27. {\sc Stiefel} and {\sc F\"assler} \cite{StFae79}.
  28. For a given orthogonal (or unitarian) linear representation
  29. \[
  30. \vartheta : G\longrightarrow GL(K^n), \qquad K=R,C.
  31. \]
  32. the character $\psi\rightarrow K$, the
  33. canonical decomposition or the bases of the isotypic
  34. components are computed. A matrix $A$ having the symmetry of a linear
  35. representation,e.g.
  36. \[
  37. \vartheta_t A = A \vartheta_t \quad \forall \, t\in G,
  38. \]
  39. is transformed to block diagonal form by a coordinate
  40. transformation.
  41. The dependence of the algorithm on the
  42. field of real or complex numbers is controled by the switch {\tt complex}.
  43. An example for this is given in the testfile {\em symmetry.tst}.
  44. As the algorithm needs information concerning the irreducible representations
  45. this information is stored for some groups (see the operators in Section 3).
  46. It is assumed that only orthogonal (unitar) representations are given.
  47. The package is loaded by
  48. {\tt load symmetry;}
  49. \section{Operators for linear representations}
  50. First the data structure for a linear representation has to be explained.
  51. {\em representation} is a list consisting of the group identifier and
  52. equations which assign matrices to the generators of the group.
  53. {\bf Example:}
  54. \begin{verbatim}
  55. rr:=mat((0,1,0,0),
  56. (0,0,1,0),
  57. (0,0,0,1),
  58. (1,0,0,0));
  59. sp:=mat((0,1,0,0),
  60. (1,0,0,0),
  61. (0,0,0,1),
  62. (0,0,1,0));
  63. representation:={D4,rD4=rr,sD4=sp};
  64. \end{verbatim}
  65. For orthogonal (unitarian) representations the following operators
  66. are available.
  67. {\tt canonicaldecomposition(representation);}
  68. returns an equation giving the canonical decomposition of the linear
  69. representation.
  70. {\tt character(representation);}
  71. computes the character of the linear representation. The result is a list
  72. of the group identifier and of lists consisting of a
  73. list of group elements in one equivalence class and a real or complex number.
  74. {\tt symmetrybasis(representation,nr);}
  75. computes the basis of the isotypic component corresponding to the irreducible
  76. representation of type nr. If the nr-th irreducible representation is
  77. multidimensional, the basis is symmetry adapted. The output is a matrix.
  78. {\tt symmetrybasispart(representation,nr);}
  79. is similiar as {\tt symmetrybasis}, but for multidimensional
  80. irreducible representations only the first part of the
  81. symmetry adapted basis is computed.
  82. {\tt allsymmetrybases(representation);}
  83. is similiar as {\tt symmetrybasis} and {\tt symmetrybasispart},
  84. but the bases of all
  85. isotypic components are computed and thus a
  86. complete coordinate transformation is returned.
  87. {\tt diagonalize(matrix,representation);}
  88. returns the block diagonal form of matrix which has the symmetry
  89. of the given linear representation. Otherwise an error message occurs.
  90. {\tt on complex;}
  91. Of course the property of irreducibility depends on the field $K$ of
  92. real or complex numbers. This is why the algorithm depends on $K$.
  93. The type of computation is set by the switch {\em complex}.
  94. \section{Display Operators}
  95. In this section the operators are described which give access to the
  96. stored information for a group.
  97. First the operators for the abstract groups are given.
  98. Then it is described how to get the irreducible representations
  99. for a group.
  100. {\tt availablegroups();}
  101. returns the list of all groups for which the information such as
  102. irreducible representations is stored. In the following {\tt group}
  103. is always one of these group identifiers.
  104. {\tt printgroup(group);}
  105. returns the list of all group elements;
  106. {\tt generators(group);}
  107. returns a list of group elements which generates the group. For the
  108. definition of a linear representation matrices for these generators
  109. have to be defined.
  110. {\tt charactertable(group);}
  111. returns a list of the characters corresponding to the irreducible
  112. representations of this group.
  113. {\tt charactern(group,nr);}
  114. returns the character corresponding to the nr-th irreducible representation
  115. of this group as a list (see also {\tt character}).
  116. {\tt irreduciblereptable(group);}
  117. returns the list of irreducible representations of the group.
  118. {\tt irreduciblerepnr(group,nr);}
  119. returns an irreducible representation of the group. The output
  120. is a list of the group identifier and equations
  121. assigning the representation matrices to group elements.
  122. \section{Storing a new group}
  123. If the user wants to do computations for a group for which
  124. information is not predefined,
  125. the package SYMMETRY offers the possibility to supply information
  126. for this group.
  127. For this the following data structures are used.
  128. {\bf elemlist} = list of identifiers.
  129. {\bf relationlist} = list of equations with identifiers and
  130. operators $@$ and $**$.
  131. {\bf grouptable} = matrix with the (1,1)-entry grouptable.
  132. {\bf filename} = "myfilename.new".
  133. \vspace{2cm}
  134. The following operators have to be used in this order.
  135. {\tt setgenerators(group,elemlist,relationlist);}
  136. {\bf Example:}
  137. \begin{verbatim}
  138. setgenerators(K4,{s1K4,s2K4},
  139. {s1K4^2=id,s2K4^2=id,s1K4@s2K4=s2K4@s1K4});
  140. \end{verbatim}
  141. {\bf setelements(group,relationlist);}
  142. The group elements except the neutral element
  143. are given as product of the defined
  144. generators. The neutral element is always called {\tt id}.
  145. {\bf Example:}
  146. \begin{verbatim}
  147. setelements(K4,
  148. {s1K4=s1K4,s2K4=s2K4,rK4=s1K4@s2K4});
  149. \end{verbatim}
  150. {\bf setgrouptable(group,grouptable);}
  151. installs the group table.
  152. {\bf Example:}
  153. \begin{verbatim}
  154. tab:=
  155. mat((grouptable, id, s1K4, s2K4, rK4),
  156. (id , id, s1K4, s2K4, rK4),
  157. (s1K4 , s1K4, id, rK4,s2K4),
  158. (s2K4 , s2K4, rK4, id,s1K4),
  159. (rK4 , rK4, s2K4, s1K4, id));
  160. setgrouptable(K4,tab);
  161. \end{verbatim}
  162. {\bf Rsetrepresentation(representation,type);}
  163. is used to define the real irreducible representations of the group.
  164. The variable {\tt type} is either {\em realtype} or {\em complextype}
  165. which indicates the type of the real irreducible representation.
  166. {\bf Example:}
  167. \begin{verbatim}
  168. eins:=mat((1));
  169. mineins:=mat((-1));
  170. rep3:={K4,s1K4=eins,s2K4=mineins};
  171. Rsetrepresentation(rep3,realtype);
  172. \end{verbatim}
  173. {\bf Csetrepresentation(representation);}
  174. This defines the complex irreducible representations.
  175. {\bf setavailable(group);}
  176. terminates the installation of the group203. It checks some properties of the
  177. irreducible representations and makes the group available for the
  178. operators in Sections 2 and 3.
  179. {\bf storegroup(group,filename);}
  180. writes the information concerning the group to the file with name
  181. {\em filename}.
  182. {\bf loadgroups(filename);}
  183. loads a user defined group from the file {\em filename} into
  184. the system.
  185. \begin{thebibliography}{5}
  186. \bibitem{JaKer81} G.\ James, A.\ Kerber: {\it Representation Theory
  187. of the Symmetric Group.} Addison, Wesley (1981).
  188. \bibitem{LuFal88} W.\ Ludwig, C.\ Falter: {\it Symmetries in Physics.}
  189. Springer, Berlin, Heidelberg, New York (1988).
  190. \bibitem{Se77} J.--P.\ Serre, {\it Linear Representations of Finite
  191. Groups}. Springer, New~York (1977).
  192. \bibitem{StFae79} E.\ Stiefel, A.\ F{\"a}ssler, {\it Gruppentheoretische
  193. Methoden und ihre Anwendung}. Teubner, Stuttgart (1979).
  194. (English translation to appear by Birkh\"auser (1992)).
  195. \end{thebibliography}
  196. \end{document}