principia_materia.symmetry.cornwell_data module

class principia_materia.symmetry.cornwell_data.Cornwell_group_matrices

Bases: object

This class is a simple container holding all of the rotation matrices that are used within the point groups. This information was taken from Appendix C of ‘Group Theory in Physics’ by J.F. Cornwell, 1997 Edition. Everything is input in a human readable form, and then processed into matrices. These matrices can be used in conjunction with the Cornwell character table data.

D_M = {'E': array([[1., 0.],        [0., 1.]]), 'c2e': array([[0., 1.],        [1., 0.]]), 'c2f': array([[ 0., -1.],        [-1.,  0.]]), 'c2x': array([[-1.,  0.],        [ 0., -1.]]), 'c2y': array([[ 1.,  0.],        [ 0., -1.]]), 'c2z': array([[-1.,  0.],        [ 0.,  1.]]), 'c4x': array([[ 0.,  1.],        [-1.,  0.]]), 'ci4x': array([[ 0., -1.],        [ 1.,  0.]])}
D_M_text = '\n  E       1  0     0  1\n  c2x    -1  0     0 -1  \n  c2y     1  0     0 -1\n  c2z    -1  0     0  1 \n  c4x     0  1    -1  0 \n  ci4x    0 -1     1  0 \n  c2e     0  1     1  0\n  c2f     0 -1    -1  0\n  '
D_X = {'E': array([[1., 0.],        [0., 1.]]), 'c2a': array([[0., 1.],        [1., 0.]]), 'c2b': array([[ 0., -1.],        [-1.,  0.]]), 'c2x': array([[ 1.,  0.],        [ 0., -1.]]), 'c2y': array([[-1.,  0.],        [ 0.,  1.]]), 'c2z': array([[-1.,  0.],        [ 0., -1.]]), 'c4z': array([[ 0.,  1.],        [-1.,  0.]]), 'ci4z': array([[ 0., -1.],        [ 1.,  0.]])}
D_X_text = '\n  E       1  0     0  1\n  c2x     1  0     0 -1\n  c2y    -1  0     0  1\n  c2z    -1  0     0 -1  \n  c4z     0  1    -1  0 \n  ci4z    0 -1     1  0\n  c2a     0  1     1  0\n  c2b     0 -1    -1  0\n  '
D_p = {'E': array([[1., 0.],        [0., 1.]]), 'c2A': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'c2B': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'c2C': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'c2D': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'c2x': array([[-1.,  0.],        [ 0.,  1.]]), 'c2y': array([[-1.,  0.],        [ 0.,  1.]]), 'c2z': array([[1., 0.],        [0., 1.]]), 'c3z': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]]), 'c6z': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'ci3z': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'ci6z': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]])}
D_p_text = '\n  E     c2z         1     0       0     1\n  c6z   ci3z       -1/2. -3**0.5/2.     3**0.5/2.  -1/2.\n  ci6z  c3z        -1/2.  3**0.5/2.    -3**0.5/2.  -1/2.\n  c2x   c2y        -1     0       0     1\n  c2A   c2C         1/2. -3**0.5/2.    -3**0.5/2.  -1/2.\n  c2B   c2D         1/2.  3**0.5/2.     3**0.5/2.  -1/2.\n  '
D_pp = {'E': array([[1., 0.],        [0., 1.]]), 'c2A': array([[-0.5      ,  0.8660254],        [ 0.8660254,  0.5      ]]), 'c2B': array([[-0.5      , -0.8660254],        [-0.8660254,  0.5      ]]), 'c2C': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'c2D': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'c2x': array([[ 1.,  0.],        [ 0., -1.]]), 'c2y': array([[-1.,  0.],        [ 0.,  1.]]), 'c2z': array([[-1.,  0.],        [ 0., -1.]]), 'c3z': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]]), 'c6z': array([[ 0.5      ,  0.8660254],        [-0.8660254,  0.5      ]]), 'ci3z': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'ci6z': array([[ 0.5      , -0.8660254],        [ 0.8660254,  0.5      ]])}
D_pp_text = '\n  E      1     0        0    1  \n  c6z    1/2.  3**0.5/2.     -3**0.5/2.  1/2.\n  ci6z   1/2. -3**0.5/2.      3**0.5/2.  1/2.\n  c3z   -1/2.  3**0.5/2.     -3**0.5/2. -1/2.\n  ci3z  -1/2. -3**0.5/2.      3**0.5/2. -1/2.\n  c2z   -1     0        0   -1\n  c2x    1     0        0   -1 \n  c2A   -1/2.  3**0.5/2.      3**0.5/2.  1/2.\n  c2B   -1/2. -3**0.5/2.     -3**0.5/2.  1/2.\n  c2y   -1     0        0    1\n  c2C    1/2. -3**0.5/2.     -3**0.5/2. -1/2.\n  c2D    1/2.  3**0.5/2.      3**0.5/2. -1/2.\n  '
Gamma_p = {'E': array([[1., 0., 0.],        [0., 1., 0.],        [0., 0., 1.]]), 'c2a': array([[ 1.,  0.,  0.],        [ 0.,  0., -1.],        [ 0., -1.,  0.]]), 'c2b': array([[1., 0., 0.],        [0., 0., 1.],        [0., 1., 0.]]), 'c2c': array([[ 0., -1.,  0.],        [-1.,  0.,  0.],        [ 0.,  0.,  1.]]), 'c2d': array([[0., 1., 0.],        [1., 0., 0.],        [0., 0., 1.]]), 'c2e': array([[ 0.,  0., -1.],        [ 0.,  1.,  0.],        [-1.,  0.,  0.]]), 'c2f': array([[0., 0., 1.],        [0., 1., 0.],        [1., 0., 0.]]), 'c2x': array([[-1.,  0.,  0.],        [ 0.,  1.,  0.],        [ 0.,  0., -1.]]), 'c2y': array([[-1.,  0.,  0.],        [ 0., -1.,  0.],        [ 0.,  0.,  1.]]), 'c2z': array([[ 1.,  0.,  0.],        [ 0., -1.,  0.],        [ 0.,  0., -1.]]), 'c3al': array([[ 0., -1.,  0.],        [ 0.,  0.,  1.],        [-1.,  0.,  0.]]), 'c3be': array([[ 0.,  1.,  0.],        [ 0.,  0., -1.],        [-1.,  0.,  0.]]), 'c3de': array([[0., 1., 0.],        [0., 0., 1.],        [1., 0., 0.]]), 'c3ga': array([[ 0., -1.,  0.],        [ 0.,  0., -1.],        [ 1.,  0.,  0.]]), 'c4x': array([[ 0.,  0.,  1.],        [ 0., -1.,  0.],        [-1.,  0.,  0.]]), 'c4y': array([[ 0., -1.,  0.],        [ 1.,  0.,  0.],        [ 0.,  0., -1.]]), 'c4z': array([[-1.,  0.,  0.],        [ 0.,  0., -1.],        [ 0.,  1.,  0.]]), 'ci3al': array([[ 0.,  0., -1.],        [-1.,  0.,  0.],        [ 0.,  1.,  0.]]), 'ci3be': array([[ 0.,  0., -1.],        [ 1.,  0.,  0.],        [ 0., -1.,  0.]]), 'ci3de': array([[0., 0., 1.],        [1., 0., 0.],        [0., 1., 0.]]), 'ci3ga': array([[ 0.,  0.,  1.],        [-1.,  0.,  0.],        [ 0., -1.,  0.]]), 'ci4x': array([[ 0.,  0., -1.],        [ 0., -1.,  0.],        [ 1.,  0.,  0.]]), 'ci4y': array([[ 0.,  1.,  0.],        [-1.,  0.,  0.],        [ 0.,  0., -1.]]), 'ci4z': array([[-1.,  0.,  0.],        [ 0.,  0.,  1.],        [ 0., -1.,  0.]])}
Gamma_p_text = '\n  E      1   0   0   0   1   0   0   0   1   \n  c2x   -1   0   0   0   1   0   0   0  -1  \n  c2y   -1   0   0   0  -1   0   0   0   1   \n  c2z    1   0   0   0  -1   0   0   0  -1  \n  c4x    0   0   1   0  -1   0  -1   0   0   \n  ci4x   0   0  -1   0  -1   0   1   0   0   \n  c4y    0  -1   0   1   0   0   0   0  -1  \n  ci4y   0   1   0  -1   0   0   0   0  -1  \n  c4z   -1   0   0   0   0  -1   0   1   0   \n  ci4z  -1   0   0   0   0   1   0  -1   0   \n  c2a    1   0   0   0   0  -1   0  -1   0   \n  c2b    1   0   0   0   0   1   0   1   0   \n  c2c    0  -1   0  -1   0   0   0   0   1   \n  c2d    0   1   0   1   0   0   0   0   1   \n  c2e    0   0  -1   0   1   0  -1   0   0   \n  c2f    0   0   1   0   1   0   1   0   0   \n  c3al   0  -1   0   0   0   1  -1   0   0   \n  c3be   0   1   0   0   0  -1  -1   0   0   \n  c3ga   0  -1   0   0   0  -1   1   0   0   \n  c3de   0   1   0   0   0   1   1   0   0   \n  ci3al  0   0  -1  -1   0   0   0   1   0   \n  ci3be  0   0  -1   1   0   0   0  -1   0   \n  ci3ga  0   0   1  -1   0   0   0  -1   0   \n  ci3de  0   0   1   1   0   0   0   1   0   \n  '
Gamma_pp = {'E': array([[1., 0.],        [0., 1.]]), 'c2a': array([[-1.,  0.],        [ 0.,  1.]]), 'c2b': array([[-1.,  0.],        [ 0.,  1.]]), 'c2c': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'c2d': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'c2e': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'c2f': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'c2x': array([[1., 0.],        [0., 1.]]), 'c2y': array([[1., 0.],        [0., 1.]]), 'c2z': array([[1., 0.],        [0., 1.]]), 'c3al': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'c3be': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'c3de': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'c3ga': array([[-0.5      , -0.8660254],        [ 0.8660254, -0.5      ]]), 'c4x': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'c4y': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'c4z': array([[-1.,  0.],        [ 0.,  1.]]), 'ci3al': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]]), 'ci3be': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]]), 'ci3de': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]]), 'ci3ga': array([[-0.5      ,  0.8660254],        [-0.8660254, -0.5      ]]), 'ci4x': array([[ 0.5      , -0.8660254],        [-0.8660254, -0.5      ]]), 'ci4y': array([[ 0.5      ,  0.8660254],        [ 0.8660254, -0.5      ]]), 'ci4z': array([[-1.,  0.],        [ 0.,  1.]])}
Gamma_pp_text = '\n  E     c2x   c2y   c2z       1     0       0     1  \n  c3al  c3be  c3ga  c3de     -1/2. -3**0.5/2.     3**0.5/2.  -1/2.\n  ci3al ci3be ci3ga ci3de    -1/2.  3**0.5/2.    -3**0.5/2.  -1/2.\n  c4x   ci4x  c2e   c2f       1/2. -3**0.5/2.    -3**0.5/2.  -1/2.\n  c4y   ci4y  c2c   c2d       1/2.  3**0.5/2.     3**0.5/2.  -1/2.\n  c4z   ci4z  c2a   c2b      -1     0       0     1\n  '
R = {'E': array([[1., 0., 0.],        [0., 1., 0.],        [0., 0., 1.]]), 'I': array([[-1., -0., -0.],        [-0., -1., -0.],        [-0., -0., -1.]]), 'II': array([[1., 0., 0.],        [0., 1., 0.],        [0., 0., 1.]]), 'Ic2A': array([[ 0.5      , -0.8660254, -0.       ],        [-0.8660254, -0.5      , -0.       ],        [-0.       , -0.       ,  1.       ]]), 'Ic2B': array([[ 0.5      ,  0.8660254, -0.       ],        [ 0.8660254, -0.5      , -0.       ],        [-0.       , -0.       ,  1.       ]]), 'Ic2C': array([[-0.5      ,  0.8660254, -0.       ],        [ 0.8660254,  0.5      , -0.       ],        [-0.       , -0.       ,  1.       ]]), 'Ic2D': array([[-0.5      , -0.8660254, -0.       ],        [-0.8660254,  0.5      , -0.       ],        [-0.       , -0.       ,  1.       ]]), 'Ic2a': array([[-0., -1., -0.],        [-1., -0., -0.],        [-0., -0.,  1.]]), 'Ic2b': array([[-0.,  1., -0.],        [ 1., -0., -0.],        [-0., -0.,  1.]]), 'Ic2c': array([[-0., -0., -1.],        [-0.,  1., -0.],        [-1., -0., -0.]]), 'Ic2d': array([[-0., -0.,  1.],        [-0.,  1., -0.],        [ 1., -0., -0.]]), 'Ic2e': array([[ 1., -0., -0.],        [-0., -0., -1.],        [-0., -1., -0.]]), 'Ic2f': array([[ 1., -0., -0.],        [-0., -0.,  1.],        [-0.,  1., -0.]]), 'Ic2x': array([[-1., -0., -0.],        [-0.,  1., -0.],        [-0., -0.,  1.]]), 'Ic2y': array([[ 1., -0., -0.],        [-0., -1., -0.],        [-0., -0.,  1.]]), 'Ic2z': array([[ 1., -0., -0.],        [-0.,  1., -0.],        [-0., -0., -1.]]), 'Ic3al': array([[-0., -1., -0.],        [-0., -0.,  1.],        [ 1., -0., -0.]]), 'Ic3be': array([[-0.,  1., -0.],        [-0., -0.,  1.],        [-1., -0., -0.]]), 'Ic3de': array([[-0., -1., -0.],        [-0., -0., -1.],        [-1., -0., -0.]]), 'Ic3ga': array([[-0.,  1., -0.],        [-0., -0., -1.],        [ 1., -0., -0.]]), 'Ic3z': array([[ 0.5      , -0.8660254, -0.       ],        [ 0.8660254,  0.5      , -0.       ],        [-0.       , -0.       , -1.       ]]), 'Ic4x': array([[-1., -0., -0.],        [-0., -0., -1.],        [-0.,  1., -0.]]), 'Ic4y': array([[-0., -0.,  1.],        [-0., -1., -0.],        [-1., -0., -0.]]), 'Ic4z': array([[-0., -1., -0.],        [ 1., -0., -0.],        [-0., -0., -1.]]), 'Ic6z': array([[-0.5      , -0.8660254, -0.       ],        [ 0.8660254, -0.5      , -0.       ],        [-0.       , -0.       , -1.       ]]), 'Ici3al': array([[-0., -0.,  1.],        [-1., -0., -0.],        [-0.,  1., -0.]]), 'Ici3be': array([[-0., -0., -1.],        [ 1., -0., -0.],        [-0.,  1., -0.]]), 'Ici3de': array([[-0., -0., -1.],        [-1., -0., -0.],        [-0., -1., -0.]]), 'Ici3ga': array([[-0., -0.,  1.],        [ 1., -0., -0.],        [-0., -1., -0.]]), 'Ici3z': array([[ 0.5      ,  0.8660254, -0.       ],        [-0.8660254,  0.5      , -0.       ],        [-0.       , -0.       , -1.       ]]), 'Ici4x': array([[-1., -0., -0.],        [-0., -0.,  1.],        [-0., -1., -0.]]), 'Ici4y': array([[-0., -0., -1.],        [-0., -1., -0.],        [ 1., -0., -0.]]), 'Ici4z': array([[-0.,  1., -0.],        [-1., -0., -0.],        [-0., -0., -1.]]), 'Ici6z': array([[-0.5      ,  0.8660254, -0.       ],        [-0.8660254, -0.5      , -0.       ],        [-0.       , -0.       , -1.       ]]), 'c2A': array([[-0.5      ,  0.8660254,  0.       ],        [ 0.8660254,  0.5      ,  0.       ],        [ 0.       ,  0.       , -1.       ]]), 'c2B': array([[-0.5      , -0.8660254,  0.       ],        [-0.8660254,  0.5      ,  0.       ],        [ 0.       ,  0.       , -1.       ]]), 'c2C': array([[ 0.5      , -0.8660254,  0.       ],        [-0.8660254, -0.5      ,  0.       ],        [ 0.       ,  0.       , -1.       ]]), 'c2D': array([[ 0.5      ,  0.8660254,  0.       ],        [ 0.8660254, -0.5      ,  0.       ],        [ 0.       ,  0.       , -1.       ]]), 'c2a': array([[ 0.,  1.,  0.],        [ 1.,  0.,  0.],        [ 0.,  0., -1.]]), 'c2b': array([[ 0., -1.,  0.],        [-1.,  0.,  0.],        [ 0.,  0., -1.]]), 'c2c': array([[ 0.,  0.,  1.],        [ 0., -1.,  0.],        [ 1.,  0.,  0.]]), 'c2d': array([[ 0.,  0., -1.],        [ 0., -1.,  0.],        [-1.,  0.,  0.]]), 'c2e': array([[-1.,  0.,  0.],        [ 0.,  0.,  1.],        [ 0.,  1.,  0.]]), 'c2f': array([[-1.,  0.,  0.],        [ 0.,  0., -1.],        [ 0., -1.,  0.]]), 'c2x': array([[ 1.,  0.,  0.],        [ 0., -1.,  0.],        [ 0.,  0., -1.]]), 'c2y': array([[-1.,  0.,  0.],        [ 0.,  1.,  0.],        [ 0.,  0., -1.]]), 'c2z': array([[-1.,  0.,  0.],        [ 0., -1.,  0.],        [ 0.,  0.,  1.]]), 'c3al': array([[ 0.,  1.,  0.],        [ 0.,  0., -1.],        [-1.,  0.,  0.]]), 'c3be': array([[ 0., -1.,  0.],        [ 0.,  0., -1.],        [ 1.,  0.,  0.]]), 'c3de': array([[0., 1., 0.],        [0., 0., 1.],        [1., 0., 0.]]), 'c3ga': array([[ 0., -1.,  0.],        [ 0.,  0.,  1.],        [-1.,  0.,  0.]]), 'c3z': array([[-0.5      ,  0.8660254,  0.       ],        [-0.8660254, -0.5      ,  0.       ],        [ 0.       ,  0.       ,  1.       ]]), 'c4x': array([[ 1.,  0.,  0.],        [ 0.,  0.,  1.],        [ 0., -1.,  0.]]), 'c4y': array([[ 0.,  0., -1.],        [ 0.,  1.,  0.],        [ 1.,  0.,  0.]]), 'c4z': array([[ 0.,  1.,  0.],        [-1.,  0.,  0.],        [ 0.,  0.,  1.]]), 'c6z': array([[ 0.5      ,  0.8660254,  0.       ],        [-0.8660254,  0.5      ,  0.       ],        [ 0.       ,  0.       ,  1.       ]]), 'ci3al': array([[ 0.,  0., -1.],        [ 1.,  0.,  0.],        [ 0., -1.,  0.]]), 'ci3be': array([[ 0.,  0.,  1.],        [-1.,  0.,  0.],        [ 0., -1.,  0.]]), 'ci3de': array([[0., 0., 1.],        [1., 0., 0.],        [0., 1., 0.]]), 'ci3ga': array([[ 0.,  0., -1.],        [-1.,  0.,  0.],        [ 0.,  1.,  0.]]), 'ci3z': array([[-0.5      , -0.8660254,  0.       ],        [ 0.8660254, -0.5      ,  0.       ],        [ 0.       ,  0.       ,  1.       ]]), 'ci4x': array([[ 1.,  0.,  0.],        [ 0.,  0., -1.],        [ 0.,  1.,  0.]]), 'ci4y': array([[ 0.,  0.,  1.],        [ 0.,  1.,  0.],        [-1.,  0.,  0.]]), 'ci4z': array([[ 0., -1.,  0.],        [ 1.,  0.,  0.],        [ 0.,  0.,  1.]]), 'ci6z': array([[ 0.5      , -0.8660254,  0.       ],        [ 0.8660254,  0.5      ,  0.       ],        [ 0.       ,  0.       ,  1.       ]])}
R_text = '\n  E        1      0     0         0     1      0         0   0   1\n  c2x      1      0     0         0    -1      0         0   0  -1\n  c2y     -1      0     0         0     1      0         0   0  -1\n  c2z     -1      0     0         0    -1      0         0   0   1\n  c4x      1      0     0         0     0      1         0  -1   0\n  ci4x     1      0     0         0     0     -1         0   1   0\n  c4y      0      0    -1         0     1      0         1   0   0\n  ci4y     0      0     1         0     1      0        -1   0   0\n  c4z      0      1     0        -1     0      0         0   0   1\n  ci4z     0     -1     0         1     0      0         0   0   1\n  c2a      0      1     0         1     0      0         0   0  -1\n  c2b      0     -1     0        -1     0      0         0   0  -1\n  c2c      0      0     1         0    -1      0         1   0   0\n  c2d      0      0    -1         0    -1      0        -1   0   0\n  c2e     -1      0     0         0     0      1         0   1   0\n  c2f     -1      0     0         0     0     -1         0  -1   0\n  c3al     0      1     0         0     0     -1        -1   0   0\n  c3be     0     -1     0         0     0     -1         1   0   0\n  c3ga     0     -1     0         0     0      1        -1   0   0\n  c3de     0      1     0         0     0      1         1   0   0\n  ci3al    0      0    -1         1     0      0         0  -1   0 \n  ci3be    0      0     1        -1     0      0         0  -1   0\n  ci3ga    0      0    -1        -1     0      0         0   1   0 \n  ci3de    0      0     1         1     0      0         0   1   0 \n  c3z     -1/2.   3**0.5/2.   0        -3**0.5/2.  -1/2.   0         0   0   1\n  ci3z    -1/2.  -3**0.5/2.   0         3**0.5/2.  -1/2.   0         0   0   1\n  c6z      1/2.   3**0.5/2.   0        -3**0.5/2.   1/2.   0         0   0   1\n  ci6z     1/2.  -3**0.5/2.   0         3**0.5/2.   1/2.   0         0   0   1\n  c2A     -1/2.   3**0.5/2.   0         3**0.5/2.   1/2.   0         0   0  -1\n  c2B     -1/2.  -3**0.5/2.   0        -3**0.5/2.   1/2.   0         0   0  -1\n  c2C      1/2.  -3**0.5/2.   0        -3**0.5/2.  -1/2.   0         0   0  -1\n  c2D      1/2.   3**0.5/2.   0         3**0.5/2.  -1/2.   0         0   0  -1\n  '
S = {'E': array([[1., 0.],        [0., 1.]]), 'c2c': array([[0., 1.],        [1., 0.]]), 'c2d': array([[ 0., -1.],        [-1.,  0.]]), 'c2x': array([[ 1.,  0.],        [ 0., -1.]]), 'c2y': array([[-1.,  0.],        [ 0., -1.]]), 'c2z': array([[-1.,  0.],        [ 0.,  1.]]), 'c4y': array([[ 0., -1.],        [ 1.,  0.]]), 'ci4y': array([[ 0.,  1.],        [-1.,  0.]])}
S_text = '\n  E        1  0      0  1  \n  c2y     -1  0      0 -1\n  c2c      0  1      1  0\n  c2d      0 -1     -1  0\n  c4y      0 -1      1  0\n  ci4y     0  1     -1  0 \n  c2x      1  0      0 -1\n  c2z     -1  0      0  1\n  '
i = 'c2D'
ii = ['c2z', '-1', '0', '0', '1']
jj = ['c2B', 'c2D']
kk = ['1/2.', '3**0.5/2.', '3**0.5/2.', '-1/2.']
class principia_materia.symmetry.cornwell_data.Cornwell_point_group(pgn)

Bases: object

This class is a simple container holding all of the information on the crystallographic point groups. This information was taken from Appendix C of ‘Group Theory in Physics’ by J.F. Cornwell, 1997 Edition. Information includes the classes, character tables, irrep matrices, and subgroups. When combined with the information from Cornwell_group_matrices, these classes can be used to instantiate the point group class.

get_mirror_notation()

This method provides a dictionary to map between Cornwell notation and mirror plane notation.

parse_data()
parse_irrep_matr()

This method will parse the input for the irrep matrices. This is basically just encoding what is given in the Appendix of Cornwell. We store all the necessary matrices in Cornwell_group_matrices, but we need to know which ones to take and whether or not we should mutliply by -1. A have created the following syntax: Eg | c 1 Gamma_pp | I 1 Gamma_pp T1g | c 1 R | I 1 R

First we have the irrep, then we have either one or two (two in this case) 3-tuple sets of info. The first item ‘c’ tells us that this is the proper rotations, we should use matrices Gamma_pp from Cornwell, and we should multiply by the prefactor of ‘1’. The same logic applies to the next set of info which corresponds to the improper rotations.