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_axis_angle
import numpy as np
def main():
# build rotation axis and set angle
axis = np.ones(3) / np.sqrt(3)
angle = np.pi
# construct tesseral Wigner D matrix
D = tesseral_wigner_D_axis_angle(2, axis, angle)
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.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5ddf6ea8d64b8fc15bafd27b71c049f6b85eb90858daf5c1ca096f98ae33a6d |
|
MD5 | 4e2a47441a2c2006617d7fa52bdb4b57 |
|
BLAKE2b-256 | 60b3eadd9a2da384827fcf8d64c8e8081ee1602e767918460f5bb1035d46baf6 |