Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] aamh_v1_0.gz(2 Kbytes)|
|Manuscript Title: Construction of symmetric group representation matrices and states.|
|Authors: M.F. Soto Jr., R. Mirman|
|Program title: MATTAB|
|Catalogue identifier: AAMH_v1_0|
Distribution format: gz
|Journal reference: Comput. Phys. Commun. 23(1981)95|
|Programming language: PL/1.|
|Computer: IBM 3033.|
|Operating system: OS/MVT/ASP.|
|RAM: 222K words|
|Word size: 8|
|Peripherals: magnetic tape.|
|Keywords: General purpose, Algebras, Symmetric groups, Group tables, Representation matrices, Product matrix, Verification.|
Nature of problem:
To check that the representation matrices produced by SYMRPMAT satisfy the group table produced by SYMGRPTB.
The programs in this set have been checked for the situations in which they have been run. However, it is always possible that for some S(N), different for the values for which the checks were made, a bug will appear. This most likely could occur because the sizes of the objects depends on N. Moreover, it is also possible that in a different environment than that in which they were developed, different computer, different operating system, different implementation of the language etc., they may behave somewhat differently, and possible incorrectly. Thus, it is useful to check the output. For this reason two check programs are included here.
The representation matrices are defined to satisfy the product law given by the group table. Any set of matrices which satisfies this law forms a representation. Of course, it need not be either faithful or irreducible, but these do not raise relevant problems here.
This program checks that the computed matrices satisfy the group table found for each symmetric group. At the same time it thereby checks that the group table is correct. The program is also useful in giving estimates of the precision of the matrix elements.
For each representation the product of every pair of matrices is found, and denoted by U1. From the group table the product of the corresponding permutations is known, and stored in the matrix NPERMS, indexed by the indices of the two permutations. So the corresponding matrix for the product permutation is known. The matrix UD which is the difference between this and U1 is then calculated.
This matrix should be exactly zero. However, because of rounding errors it will not be exactly so. The prorgam is instructed to flag an error, and list the term ERROR if any one of the matrix elements is greater than (the arbitrarily chosen value of) CFT= 10**-2. With the term ERROR it also lists the incorrect matrix element indices, the indices of the two permutations and the difference matrix. After checking a matrix it lists CORRECT (whether the matrix was or not), the indices of the permutations and the difference matrix.
Any data produced by SYMGRPTB and SYMRPMAT can be checked. However, for S(10) and above, there must be some modifications because the numbers then consist of two digits.
Through S(4): 14.25 s.
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|