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.

Hide code cell source
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}\]
Hide code cell source
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