1% test symmetry package
2% implementation of theory of linear representations
3% for small groups
4
5availablegroups();
6
7printgroup(D4);
8
9generators(D4);
10
11charactertable(D4);
12
13characternr(D4,1);
14characternr(D4,2);
15characternr(D4,3);
16characternr(D4,4);
17characternr(D4,5);
18irreduciblereptable(D4);
19irreduciblerepnr(D4,1);
20irreduciblerepnr(D4,2);
21irreduciblerepnr(D4,3);
22irreduciblerepnr(D4,4);
23irreduciblerepnr(D4,5);
24
25
26rr:=mat((1,0,0,0,0),
27        (0,0,1,0,0),
28        (0,0,0,1,0),
29        (0,0,0,0,1),
30        (0,1,0,0,0));
31
32sp:=mat((1,0,0,0,0),
33        (0,0,1,0,0),
34        (0,1,0,0,0),
35        (0,0,0,0,1),
36        (0,0,0,1,0));
37
38rep:={D4,rD4=rr,sD4=sp};
39
40canonicaldecomposition(rep);
41
42character(rep);
43
44symmetrybasis(rep,1);
45symmetrybasis(rep,2);
46symmetrybasis(rep,3);
47symmetrybasis(rep,4);
48symmetrybasis(rep,5);
49symmetrybasispart(rep,5);
50allsymmetrybases(rep);
51
52
53% Ritz matrix from Stiefel, Faessler p. 200
54m:=mat((eps,a,a,a,a),
55       (a  ,d,b,g,b),
56       (a  ,b,d,b,g),
57       (a  ,g,b,d,b),
58       (a  ,b,g,b,d));
59
60
61diagonalize(m,rep);
62
63% eigenvalues are obvious. Eigenvectors may be obtained with
64% the coordinate transformation matrix given by allsymmetrybases.
65
66r1:=mat((0,1,0),
67        (0,0,1),
68        (1,0,0));
69
70repC3:={C3,rC3=r1};
71
72mC3:=mat((a,b,c),
73         (c,a,b),
74         (b,c,a));
75
76diagonalize(mC3,repC3);
77
78% note difference between real and complex case
79
80on complex;
81diagonalize(mC3,repC3);
82off complex;
83
84end;
85