mcodev31 / libmsym

molecular point group symmetry lib
MIT License
73 stars 33 forks source link

Why is p orbital in the order py, pz, px? #24

Closed FreemanTheMaverick closed 2 years ago

FreemanTheMaverick commented 2 years ago

In 'rsh.c', it is written

        // x,y,z -> py, pz, px
        r[0][0] = t[1][1];
        r[0][1] = t[1][2];
        r[0][2] = t[1][0];
        r[1][0] = t[2][1];
        r[1][1] = t[2][2];
        r[1][2] = t[2][0];
        r[2][0] = t[0][1];
        r[2][1] = t[0][2];
        r[2][2] = t[0][0];

Why is p orbital in the order py, pz, px? If I do not like the order, can I just change it into

        r[0][0] = t[0][0];
        r[0][1] = t[0][1];
        r[0][2] = t[0][2];
        r[1][0] = t[1][0];
        r[1][1] = t[1][1];
        r[1][2] = t[1][2];
        r[2][0] = t[2][0];
        r[2][1] = t[2][1];
        r[2][2] = t[2][2];

without changing other codes?

mcodev31 commented 2 years ago

No, this is the representation of the symmetry operation in the RHS basis, that part is just a shortcut for defining l = 1 from a normal 3d rotation, where l > 1 is recursively defined in the else statement below. See: J. Phys. Chem., vol. 100, no. 15, pp. 6342-6347, 1996. http://pubs.acs.org/doi/pdf/10.1021/jp953350u

mcodev31 commented 2 years ago

To answer your first question, RSH are linear combinations of the magnetic quantum number (e.g. 2pz = 0, 2px = 1, 2py = -1) and the order is by convention negative to positive.