Python package for constructing Wigner-D matrices
Project description
Sphecerix
Figure: Demonstration of rotating a spherical harmonic by means of the
Wigner D-matrix. In the above image, a 3dz2 and a 4fz3 atomic orbital are rotated
by an angle $\pi
$ over an axis with coordinates $(1,1,1)
$. Note that the image has
not been constructed by rotating the isosurfaces but by calculating the
scalar field after the rotation.
Purpose
Rotation of spherical harmonics using Wigner-D matrices
Background
The canonical spherical harmonics $Y_{lm}
$ subject to a rotation in
$\mathbb{R}^{3}
$ will always mix among each other. As such, we can
represent the act of rotating the spherical harmonics by the following
matrix-vector equation
\vec{Y}_{l}\prime = \mathbf{D}\vec{Y}_{l}
wherein $\mathbf{D}
$ is the Wigner D-matrix
and $\vec{Y}_{l}
$ a vector composed of the canonical spherical harmonics
of order $l
$. The vector $\vec{Y}_{l}\prime
$ is the linear combination that
represents the result of the rotation upon the (linear combination) of
spherical harmonics prior to the rotation.
Usage
In the script below, a dz2 spherical harmonic is rotated over an axis with
coordinates $(1,1,1)
$ by an angle $\pi
$. The result of this rotation is
a linear combination of spherical harmonics all with $l=2
$.
from sphecerix import tesseral_wigner_D
from scipy.spatial.transform import Rotation as R
import numpy as np
def main():
# build rotation axis and set angle
axis = np.ones(3) / np.sqrt(3)
angle = np.pi
Robj = R.from_rotvec(axis * angle)
# construct tesseral Wigner D matrix
D = tesseral_wigner_D(2, Robj)
Y = np.zeros(5)
Y[2] = 1
# calculate linear combination of the spherical harmonics after rotation
Yp = D @ Y
print(Yp)
if __name__ == '__main__':
main()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for sphecerix-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8088d09edd0dd36aa05f1cc3121a91f96c487f9f80f88aacfeee375321bc4d7 |
|
MD5 | 8f27d378dc6c09e8c53c97b8283e03d4 |
|
BLAKE2b-256 | 21cc434ecd6eace1d8422e9648a293ff319ccf1fdd9bdfec8d52f67e78dcb419 |