Chapter 7 - Angular Momentum and Rotation


In [1]:
from numpy import sqrt, pi, exp, angle
from qutip import *

Our usual spin operators (spin-1/2)


In [2]:
pz = basis(2,0)
mz = basis(2,1)
px = 1/sqrt(2)*(pz + mz)
mx = 1/sqrt(2)*(pz - mz)
py = 1/sqrt(2)*(pz + 1j*mz)
my = 1/sqrt(2)*(pz - 1j*mz)
Sx = 1/2.0*sigmax()
Sy = 1/2.0*sigmay()
Sz = 1/2.0*sigmaz()
Splus = Sx + 1j*Sy
Sminus = Sx - 1j*Sy

Define the spin-1 operators. We use J just to keep them apart. Could be S instead.


In [8]:
Jx = 1/sqrt(2)*Qobj([[0,1,0],[1,0,1],[0,1,0]])
Jy = 1/sqrt(2)*Qobj([[0,-1j,0],[1j,0,-1j],[0,1j,0]])
Jz = Qobj([[1,0,0],[0,0,0],[0,0,-1]])
Jplus = Jx + 1j*Jy
Jminus = Jx - 1j*Jy

In [11]:
Jz


Out[11]:
Quantum object: dims = [[3], [3]], shape = (3, 3), type = oper, isherm = True\begin{equation*}\left(\begin{array}{*{11}c}1.0 & 0.0 & 0.0\\0.0 & 0.0 & 0.0\\0.0 & 0.0 & -1.0\\\end{array}\right)\end{equation*}

Rotations of spin-1/2


In [12]:
Rz90 = (-1j*pi/2*Sz).expm()

In [13]:
Rz90


Out[13]:
Quantum object: dims = [[2], [2]], shape = (2, 2), type = oper, isherm = False\begin{equation*}\left(\begin{array}{*{11}c}(0.707-0.707j) & 0.0\\0.0 & (0.707+0.707j)\\\end{array}\right)\end{equation*}

In [14]:
Rz90*px


Out[14]:
Quantum object: dims = [[2], [1]], shape = (2, 1), type = ket\begin{equation*}\left(\begin{array}{*{11}c}(0.500-0.500j)\\(0.500+0.500j)\\\end{array}\right)\end{equation*}

Doesn't look like example 7.4 because it's not simplified. How to check:


In [15]:
exp(-1j*pi/4)*py


Out[15]:
Quantum object: dims = [[2], [1]], shape = (2, 1), type = ket\begin{equation*}\left(\begin{array}{*{11}c}(0.500-0.500j)\\(0.500+0.500j)\\\end{array}\right)\end{equation*}

Yes, this agrees.

Can also use inner product:


In [16]:
py.dag()*Rz90*px


Out[16]:
Quantum object: dims = [[1], [1]], shape = (1, 1), type = bra\begin{equation*}\left(\begin{array}{*{11}c}(0.707-0.707j)\\\end{array}\right)\end{equation*}

In [18]:
(py.dag()*Rz90*px).norm()


Out[18]:
0.9999999999999999

In [19]:
angle(0.707 - 0.707j) == -pi/4


Out[19]:
True

Find the spin-1 states (the eigenstates of the corresponding matrix)

According to the postulates, the allowed values of an observable are the eigenvalues with corresponding eigenstates.

We know the matrix representation of Jx, Jy, Jz in the Z-basis so we can find all 9 states (in the Z basis). Why nine? There are three possible values $\hbar$, 0, $-\hbar$ for each of three directions.


In [19]:
yevals, (yd,y0,yu) = Jy.eigenstates()
zevals, (zd,z0,zu) = Jz.eigenstates()
xevals, (xd,x0,xu) = Jx.eigenstates()
xd = -xd  # fix the signs to match book
yu = -yu  # fix the signs to match book

In [23]:
y0


Out[23]:
Quantum object: dims = [[3], [1]], shape = (3, 1), type = ket\begin{equation*}\left(\begin{array}{*{11}c}0.707\\0.0\\0.707\\\end{array}\right)\end{equation*}

In [25]:
Rz90 = (-1j*pi/2*Jz).expm()

In [26]:
Rz90*x0


Out[26]:
Quantum object: dims = [[3], [1]], shape = (3, 1), type = ket\begin{equation*}\left(\begin{array}{*{11}c}-0.707j\\0.0\\-0.707j\\\end{array}\right)\end{equation*}

In [29]:
(y0.dag()*Rz90*x0).norm()


Out[29]:
1.0

7.10 A spin-1 particle is measured to have $S_y=\hbar$. What is the probability that a subsequent measurement will yield $S_z=0$? $S_z=\hbar$? $S_z=-\hbar$?


In [56]:
(z0.dag()*yu).norm()**2


Out[56]:
0.4999999999999999

In [30]:
(zu.dag()*yu).norm()**2


Out[30]:
0.2500000000000002

In [31]:
(zd.dag()*yu).norm()**2


Out[31]:
0.2500000000000001

In [32]:
yu


Out[32]:
Quantum object: dims = [[3], [1]], shape = (3, 1), type = ket\begin{equation*}\left(\begin{array}{*{11}c}0.500\\0.707j\\-0.500\\\end{array}\right)\end{equation*}

In [ ]: