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.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f33600935cd2fce773338aebab9339f1dc556f8999909297d9a2824eb676b5b |
|
MD5 | a8d702d018b66263c7a73d1a1447f43a |
|
BLAKE2b-256 | a6c3152afe0c765497c141a6548d1173bbcb8798a0c10a6f037667824ab3114a |