7.8. SU(2) → SO(3) homomorphism#
The Cornwell theorem from the group theory (see for example Section 3, Chapter 5 of [3]) gives the relation between the rotation of the transition amplitude and the physical vector of polarization sensitivity:
\[
\begin{align}
R_{ij}(\phi,\theta,\chi) &= \frac{1}{2}\mathrm{tr}\left(
D^{1/2*}(\phi,\theta,\chi) \sigma^P_i D^{1/2*\dagger}(\phi,\theta,\chi) \sigma^P_j
\right)\,,
\end{align}
\]
where \(\mathrm{tr}\) represents the trace operation applied to the product of the two-dimensional matrices, \(D\) and \(\sigma^P\), and \(R_{ij}(\phi,\theta,\chi)\) is a three-dimensional rotation matrix implementing the Euler transformation to a physical vector.
SO(3) rotation with SymPy
from sympy import Matrix, cos, sin, symbols
def Rz(α):
return Matrix(
[
[cos(α), -sin(α), 0],
[sin(α), cos(α), 0],
[0, 0, 1],
]
)
def Ry(α):
return Matrix(
[
[cos(α), 0, sin(α)],
[0, 1, 0],
[-sin(α), 0, cos(α)],
]
)
θ, ϕ, χ = symbols("theta phi chi", positive=True)
R_SO3 = Rz(ϕ) @ Ry(θ) @ Rz(χ)
R_SO3
\[\begin{split}\displaystyle \left[\begin{matrix}- \sin{\left(\chi \right)} \sin{\left(\phi \right)} + \cos{\left(\chi \right)} \cos{\left(\phi \right)} \cos{\left(\theta \right)} & - \sin{\left(\chi \right)} \cos{\left(\phi \right)} \cos{\left(\theta \right)} - \sin{\left(\phi \right)} \cos{\left(\chi \right)} & \sin{\left(\theta \right)} \cos{\left(\phi \right)}\\\sin{\left(\chi \right)} \cos{\left(\phi \right)} + \sin{\left(\phi \right)} \cos{\left(\chi \right)} \cos{\left(\theta \right)} & - \sin{\left(\chi \right)} \sin{\left(\phi \right)} \cos{\left(\theta \right)} + \cos{\left(\chi \right)} \cos{\left(\phi \right)} & \sin{\left(\phi \right)} \sin{\left(\theta \right)}\\- \sin{\left(\theta \right)} \cos{\left(\chi \right)} & \sin{\left(\chi \right)} \sin{\left(\theta \right)} & \cos{\left(\theta \right)}\end{matrix}\right]\end{split}\]
SU(2) rotation with SymPy
from sympy import S, Trace, conjugate, expand, expand_trig, simplify
from sympy.physics.matrices import msigma
from sympy.physics.quantum.dagger import Dagger
from sympy.physics.quantum.spin import WignerD
def R(Dx, i, j):
return Trace(Dx @ msigma(i) @ Dagger(Dx) @ msigma(j)) / 2
h = S(1) / 2
Dx = conjugate(
Matrix([[WignerD(h, i, j, ϕ, θ, χ) for i in [+h, -h]] for j in [+h, -h]])
)
Rij = Matrix([[R(Dx, j, i).doit() for i in range(1, 4)] for j in range(1, 4)])
hangle = {
cos(θ / 2) ** 2: (1 + cos(θ)) / 2,
sin(θ / 2) ** 2: (1 - cos(θ)) / 2,
}
R_SU2 = expand_trig(simplify(expand(Rij, complex=True).subs(hangle)))
R_SU2
\[\begin{split}\displaystyle \left[\begin{matrix}- \sin{\left(\chi \right)} \sin{\left(\phi \right)} + \cos{\left(\chi \right)} \cos{\left(\phi \right)} \cos{\left(\theta \right)} & - \sin{\left(\chi \right)} \cos{\left(\phi \right)} \cos{\left(\theta \right)} - \sin{\left(\phi \right)} \cos{\left(\chi \right)} & \sin{\left(\theta \right)} \cos{\left(\phi \right)}\\\sin{\left(\chi \right)} \cos{\left(\phi \right)} + \sin{\left(\phi \right)} \cos{\left(\chi \right)} \cos{\left(\theta \right)} & - \sin{\left(\chi \right)} \sin{\left(\phi \right)} \cos{\left(\theta \right)} + \cos{\left(\chi \right)} \cos{\left(\phi \right)} & \sin{\left(\phi \right)} \sin{\left(\theta \right)}\\- \sin{\left(\theta \right)} \cos{\left(\chi \right)} & \sin{\left(\chi \right)} \sin{\left(\theta \right)} & \cos{\left(\theta \right)}\end{matrix}\right]\end{split}\]
assert R_SO3 == R_SU2