REDUCE 3.4.1, 15-Jul-92 ...

1: 
(SYMMETRY)


% test symmetry package
% implementation of theory of linear representations
% for small groups 

availablegroups();


{Z2,K4,D3,D4,D5,D6,C3,C4,C5,C6,S4,A4}


printgroup(D4);


{ID,RD4,ROT2D4,ROT3D4,SD4,SRD4,SR2D4,SR3D4}


generators(D4);


{RD4,SD4}


charactertable(D4);


{{D4,{{ID},1},{{RD4,ROT3D4},1},{{ROT2D4},1},{{SD4,SR2D4},1},{{SR3D4,

        SRD4},1}},

 {D4,{{ID},1},{{RD4,ROT3D4},1},{{ROT2D4},1},{{SD4,SR2D4},-1},{{SR3D4,

        SRD4},-1}},

 {D4,{{ID},1},{{RD4,ROT3D4},-1},{{ROT2D4},1},{{SD4,SR2D4},1},{{SR3D4,

        SRD4},-1}},

 {D4,{{ID},1},{{RD4,ROT3D4},-1},{{ROT2D4},1},{{SD4,SR2D4},-1},{{SR3D4

        ,SRD4},1}},

 {D4,{{ID},2},{{RD4,ROT3D4},0},{{ROT2D4},-2},{{SD4,SR2D4},0},{{SR3D4,

        SRD4},0}}}


characternr(D4,1);


{D4,{{ID},1},{{RD4,ROT3D4},1},{{ROT2D4},1},{{SD4,SR2D4},1},{{SR3D4,

       SRD4},1}}

characternr(D4,2);


{D4,{{ID},1},{{RD4,ROT3D4},1},{{ROT2D4},1},{{SD4,SR2D4},-1},{{SR3D4,

       SRD4},-1}}

characternr(D4,3);


{D4,{{ID},1},{{RD4,ROT3D4},-1},{{ROT2D4},1},{{SD4,SR2D4},1},{{SR3D4,

       SRD4},-1}}

characternr(D4,4);


{D4,{{ID},1},{{RD4,ROT3D4},-1},{{ROT2D4},1},{{SD4,SR2D4},-1},{{SR3D4,

       SRD4},1}}

characternr(D4,5);


{D4,{{ID},2},{{RD4,ROT3D4},0},{{ROT2D4},-2},{{SD4,SR2D4},0},{{SR3D4,

       SRD4},0}}

irreduciblereptable(D4);


{{D4,

  ID=

  [1]

  ,

  RD4=

  [1]

  ,

  ROT2D4=

  [1]

  ,

  ROT3D4=

  [1]

  ,

  SD4=

  [1]

  ,

  SRD4=

  [1]

  ,

  SR2D4=

  [1]

  ,

  SR3D4=

  [1]

  },

 {D4,

  ID=

  [1]

  ,

  RD4=

  [1]

  ,

  ROT2D4=

  [1]

  ,

  ROT3D4=

  [1]

  ,

  SD4=

  [ - 1]

  ,

  SRD4=

  [ - 1]

  ,

  SR2D4=

  [ - 1]

  ,

  SR3D4=

  [ - 1]

  },

 {D4,

  ID=

  [1]

  ,

  RD4=

  [ - 1]

  ,

  ROT2D4=

  [1]

  ,

  ROT3D4=

  [ - 1]

  ,

  SD4=

  [1]

  ,

  SRD4=

  [ - 1]

  ,

  SR2D4=

  [1]

  ,

  SR3D4=

  [ - 1]

  },

 {D4,

  ID=

  [1]

  ,

  RD4=

  [ - 1]

  ,

  ROT2D4=

  [1]

  ,

  ROT3D4=

  [ - 1]

  ,

  SD4=

  [ - 1]

  ,

  SRD4=

  [1]

  ,

  SR2D4=

  [ - 1]

  ,

  SR3D4=

  [1]

  },

 {D4,

  ID=

  [1  0]
  [    ]
  [0  1]

  ,

  RD4=

  [ 0    1]
  [       ]
  [ - 1  0]

  ,

  ROT2D4=

  [ - 1   0  ]
  [          ]
  [ 0     - 1]

  ,

  ROT3D4=

  [0   - 1]
  [       ]
  [1   0  ]

  ,

  SD4=

  [1   0  ]
  [       ]
  [0   - 1]

  ,

  SRD4=

  [0  1]
  [    ]
  [1  0]

  ,

  SR2D4=

  [ - 1  0]
  [       ]
  [ 0    1]

  ,

  SR3D4=

  [ 0     - 1]
  [          ]
  [ - 1   0  ]

  }}

irreduciblerepnr(D4,1);


{D4,

 ID=

 [1]

 ,

 RD4=

 [1]

 ,

 ROT2D4=

 [1]

 ,

 ROT3D4=

 [1]

 ,

 SD4=

 [1]

 ,

 SRD4=

 [1]

 ,

 SR2D4=

 [1]

 ,

 SR3D4=

 [1]

 }

irreduciblerepnr(D4,2);


{D4,

 ID=

 [1]

 ,

 RD4=

 [1]

 ,

 ROT2D4=

 [1]

 ,

 ROT3D4=

 [1]

 ,

 SD4=

 [ - 1]

 ,

 SRD4=

 [ - 1]

 ,

 SR2D4=

 [ - 1]

 ,

 SR3D4=

 [ - 1]

 }

irreduciblerepnr(D4,3);


{D4,

 ID=

 [1]

 ,

 RD4=

 [ - 1]

 ,

 ROT2D4=

 [1]

 ,

 ROT3D4=

 [ - 1]

 ,

 SD4=

 [1]

 ,

 SRD4=

 [ - 1]

 ,

 SR2D4=

 [1]

 ,

 SR3D4=

 [ - 1]

 }

irreduciblerepnr(D4,4);


{D4,

 ID=

 [1]

 ,

 RD4=

 [ - 1]

 ,

 ROT2D4=

 [1]

 ,

 ROT3D4=

 [ - 1]

 ,

 SD4=

 [ - 1]

 ,

 SRD4=

 [1]

 ,

 SR2D4=

 [ - 1]

 ,

 SR3D4=

 [1]

 }

irreduciblerepnr(D4,5);


{D4,

 ID=

 [1  0]
 [    ]
 [0  1]

 ,

 RD4=

 [ 0    1]
 [       ]
 [ - 1  0]

 ,

 ROT2D4=

 [ - 1   0  ]
 [          ]
 [ 0     - 1]

 ,

 ROT3D4=

 [0   - 1]
 [       ]
 [1   0  ]

 ,

 SD4=

 [1   0  ]
 [       ]
 [0   - 1]

 ,

 SRD4=

 [0  1]
 [    ]
 [1  0]

 ,

 SR2D4=

 [ - 1  0]
 [       ]
 [ 0    1]

 ,

 SR3D4=

 [ 0     - 1]
 [          ]
 [ - 1   0  ]

 }



rr:=mat((1,0,0,0,0),
        (0,0,1,0,0),
        (0,0,0,1,0),
        (0,0,0,0,1),
        (0,1,0,0,0));


      [1  0  0  0  0]
      [             ]
      [0  0  1  0  0]
      [             ]
RR := [0  0  0  1  0]
      [             ]
      [0  0  0  0  1]
      [             ]
      [0  1  0  0  0]



sp:=mat((1,0,0,0,0),
        (0,0,1,0,0),
        (0,1,0,0,0),
        (0,0,0,0,1),
        (0,0,0,1,0));


      [1  0  0  0  0]
      [             ]
      [0  0  1  0  0]
      [             ]
SP := [0  1  0  0  0]
      [             ]
      [0  0  0  0  1]
      [             ]
      [0  0  0  1  0]



rep:={D4,rD4=rr,sD4=sp};


REP := {D4,

        RD4=

        [1  0  0  0  0]
        [             ]
        [0  0  1  0  0]
        [             ]
        [0  0  0  1  0]
        [             ]
        [0  0  0  0  1]
        [             ]
        [0  1  0  0  0]

        ,

        SD4=

        [1  0  0  0  0]
        [             ]
        [0  0  1  0  0]
        [             ]
        [0  1  0  0  0]
        [             ]
        [0  0  0  0  1]
        [             ]
        [0  0  0  1  0]

        }


canonicaldecomposition(rep);


TETA=2*TETA1 + TETA4 + TETA5


character(rep);


{D4,{{ID},5},{{RD4,ROT3D4},1},{{ROT2D4},1},{{SD4,SR2D4},1},{{SR3D4,

       SRD4},3}}


symmetrybasis(rep,1);


[1   0 ]
[      ]
[    1 ]
[0  ---]
[    2 ]
[      ]
[    1 ]
[0  ---]
[    2 ]
[      ]
[    1 ]
[0  ---]
[    2 ]
[      ]
[    1 ]
[0  ---]
[    2 ]


symmetrybasis(rep,2);


symmetrybasis(rep,3);


symmetrybasis(rep,4);


[  0   ]
[      ]
[  1   ]
[ ---  ]
[  2   ]
[      ]
[  - 1 ]
[------]
[  2   ]
[      ]
[  1   ]
[ ---  ]
[  2   ]
[      ]
[  - 1 ]
[------]
[  2   ]


symmetrybasis(rep,5);


[  0       0   ]
[              ]
[  1       - 1 ]
[ ---    ------]
[  2       2   ]
[              ]
[  1       1   ]
[ ---     ---  ]
[  2       2   ]
[              ]
[  - 1     1   ]
[------   ---  ]
[  2       2   ]
[              ]
[  - 1     - 1 ]
[------  ------]
[  2       2   ]


symmetrybasispart(rep,5);


[  0   ]
[      ]
[  1   ]
[ ---  ]
[  2   ]
[      ]
[  1   ]
[ ---  ]
[  2   ]
[      ]
[  - 1 ]
[------]
[  2   ]
[      ]
[  - 1 ]
[------]
[  2   ]


allsymmetrybases(rep);


[1   0     0       0       0   ]
[                              ]
[    1     1       1       - 1 ]
[0  ---   ---     ---    ------]
[    2     2       2       2   ]
[                              ]
[    1     - 1     1       1   ]
[0  ---  ------   ---     ---  ]
[    2     2       2       2   ]
[                              ]
[    1     1       - 1     1   ]
[0  ---   ---    ------   ---  ]
[    2     2       2       2   ]
[                              ]
[    1     - 1     - 1     - 1 ]
[0  ---  ------  ------  ------]
[    2     2       2       2   ]




% Ritz matrix from Stiefel, Faessler p. 200
m:=mat((eps,a,a,a,a),
       (a  ,d,b,g,b),
       (a  ,b,d,b,g),
       (a  ,g,b,d,b),
       (a  ,b,g,b,d));


     [EPS  A  A  A  A]
     [               ]
     [ A   D  B  G  B]
     [               ]
M := [ A   B  D  B  G]
     [               ]
     [ A   G  B  D  B]
     [               ]
     [ A   B  G  B  D]




diagonalize(m,rep);


[EPS      2*A            0           0      0  ]
[                                              ]
[2*A  2*B + D + G        0           0      0  ]
[                                              ]
[ 0        0        - 2*B + D + G    0      0  ]
[                                              ]
[ 0        0             0         D - G    0  ]
[                                              ]
[ 0        0             0           0    D - G]



% eigenvalues are obvious. Eigenvectors may be obtained with
% the coordinate transformation matrix given by allsymmetrybases.

r1:=mat((0,1,0),
        (0,0,1),
        (1,0,0));


      [0  1  0]
      [       ]
R1 := [0  0  1]
      [       ]
      [1  0  0]



repC3:={C3,rC3=r1};


REPC3 := {C3,RC3=

          [0  1  0]
          [       ]
          [0  0  1]
          [       ]
          [1  0  0]

          }


mC3:=mat((a,b,c),
         (c,a,b),
         (b,c,a));


       [A  B  C]
       [       ]
MC3 := [C  A  B]
       [       ]
       [B  C  A]



diagonalize(mC3,repC3);


[A + B + C              0                          0           ]
[                                                              ]
[                  2*A - B - C           SQRT(3)*B - SQRT(3)*C ]
[    0            -------------         -----------------------]
[                       2                          2           ]
[                                                              ]
[             - SQRT(3)*B + SQRT(3)*C         2*A - B - C      ]
[    0      --------------------------       -------------     ]
[                       2                          2           ]

 

% note difference between real and complex case

on complex;


diagonalize(mC3,repC3);


MAT((A + B + C,0,0),

        I*SQRT(3)*B - I*SQRT(3)*C + 2*A - B - C
    (0,-----------------------------------------,0),
                           2

           - I*SQRT(3)*B + I*SQRT(3)*C + 2*A - B - C
    (0,0,--------------------------------------------))
                              2

 
off complex;



end;


Time: 2975 ms  plus GC time: 102 ms

Quitting
