Time Reversal for Two Spins and in a Field

Random Matrix Theory, numerical solution.

Open In Colab

Time Reversal for Two Spins and in a Field

Background

Once time reversal survives, the symmetry class is decided by what its square equals. This exercise works through an integer-spin case, a case where time reversal is broken, and what the Kramers doublets do to the gap ratio.

When \(\hat{T}^2 = +\mathbb{I}\) the space has a basis of vectors fixed by \(\hat{T}\). For any \(|\psi\rangle\) the two combinations

\[ |\psi_+\rangle = |\psi\rangle + \hat{T}|\psi\rangle, \qquad |\psi_-\rangle = i\bigl(|\psi\rangle - \hat{T}|\psi\rangle\bigr) \]

are fixed by \(\hat{T}\), the second because the antilinear \(\hat{T}\) sends it to \(-i(\hat{T}|\psi\rangle - \hat{T}^2|\psi\rangle) = |\psi_-\rangle\).

Exercise

(a) For two spin-\(\tfrac12\) particles, time reversal is \(\hat{T} = (-i\hat{\sigma}_y)\otimes(-i\hat{\sigma}_y)\,\hat{K}\). Show that \(\hat{T}^2 = +\mathbb{I}\), compute \(\hat T\) on the four computational basis states, and use the combinations \(|\psi_\pm\rangle\) to build an orthonormal basis of \(\hat{T}\)-fixed vectors. Show that the Heisenberg coupling \(\hat{\boldsymbol{S}}_1\cdot\hat{\boldsymbol{S}}_2\) is real in that basis.

(b) For a single spin in a magnetic field, \(\hat{H} = -\boldsymbol{B}\cdot\hat{\boldsymbol{\sigma}}\), show that \(\hat{T}\hat{\boldsymbol{\sigma}}\hat{T}^{-1} = -\hat{\boldsymbol{\sigma}}\) for \(\hat{T} = -i\hat{\sigma}_y\hat{K}\), so that \(\hat{T}\hat{H}\hat{T}^{-1} = -\hat{H}\). What happens to the Kramers degeneracy of the two levels?

(c) A GSE spectrum is quoted with one member of each Kramers pair discarded. Say what the spacing distribution and the mean gap ratio would look like if both were kept.

Solution

Part (a)

Since \(\hat{K}\) acts to the right and \(\hat\sigma_y^* = -\hat\sigma_y\), each factor contributes \((-i\hat{\sigma}_y)(-i\hat{\sigma}_y)^{*} = -\mathbb{I}_2\), and the product is \(\hat{T}^2 = (-1)^2\,\mathbb{I} = +\mathbb{I}\). With \(-i\hat{\sigma}_y|0\rangle = |1\rangle\) and \(-i\hat{\sigma}_y|1\rangle = -|0\rangle\),

\[ \hat T|00\rangle = |11\rangle, \quad \hat T|11\rangle = |00\rangle, \quad \hat T|01\rangle = -|10\rangle, \quad \hat T|10\rangle = -|01\rangle . \]

The combinations \(|\psi_\pm\rangle\) built from \(|00\rangle\) and \(|01\rangle\) give, after normalization, the \(\hat T\)-fixed orthonormal basis

\[ \tfrac{1}{\sqrt2}(|00\rangle + |11\rangle), \quad \tfrac{i}{\sqrt2}(|00\rangle - |11\rangle), \quad \tfrac{1}{\sqrt2}(|01\rangle - |10\rangle), \quad \tfrac{i}{\sqrt2}(|01\rangle + |10\rangle). \]

The first, second and fourth are triplet states and the third is the singlet, so \(\hat{\boldsymbol{S}}_1\cdot\hat{\boldsymbol{S}}_2\) is diagonal in this basis with the real entries \(\tfrac14,\tfrac14,-\tfrac34,\tfrac14\). The coupling commutes with \(\hat T\).

Part (b)

\(\hat{T}\hat{\sigma}_j\hat{T}^{-1} = \hat\sigma_y\hat\sigma_j^*\hat\sigma_y = -\hat\sigma_j\) for \(j = x,y,z\), so \(\hat{T}\hat{H}\hat{T}^{-1} = +\boldsymbol{B}\cdot\hat{\boldsymbol{\sigma}} = -\hat H\). The field breaks time reversal, Kramers’ argument no longer applies, and the two levels \(\pm|\boldsymbol{B}|\) are split by \(2|\boldsymbol{B}|\).

Part (c)

Every level would contribute a spacing of exactly zero, so \(P(s)\) would acquire a delta function at the origin and half of all spacings would vanish, the opposite of the quartic repulsion the GSE is meant to show. Since the zeros and the true gaps alternate, every consecutive pair of spacings contains one of the zeros, so \(r_n = 0\) for every \(n\) and \(\langle r\rangle\) would be exactly \(0\), against the GSE value \(0.674\).


Numerical verification

Parts (a) and (b) are checked by direct matrix algebra. For part (c), a time-reversal-symmetric matrix with \(\hat T^2 = -\mathbb{I}\) is built by symmetrizing a random Hermitian matrix, and the mean gap ratio is computed with both Kramers partners kept and with one member per pair.

Code
import numpy as np

sx = np.array([[0, 1], [1, 0]], complex)
sy = np.array([[0, -1j], [1j, 0]])
sz = np.diag([1., -1.]).astype(complex)

# (a) two spins: T = U K
U = np.kron(-1j*sy, -1j*sy)
T = lambda v: U @ v.conj()
assert np.allclose(U @ U.conj(), np.eye(4))
print("(a) T^2 = +1 for two spins")

ket = lambda s: np.eye(4)[int(s, 2)].astype(complex)
for s in ["00", "01", "10", "11"]:
    print(f"    T|{s}> =", np.round(T(ket(s)).real, 3))

basis = [(ket("00")+ket("11"))/np.sqrt(2), 1j*(ket("00")-ket("11"))/np.sqrt(2),
         (ket("01")-ket("10"))/np.sqrt(2), 1j*(ket("01")+ket("10"))/np.sqrt(2)]
B = np.column_stack(basis)
assert all(np.allclose(T(v), v) for v in basis) and np.allclose(B.conj().T @ B, np.eye(4))

S = [sx/2, sy/2, sz/2]
Hh = sum(np.kron(a, a) for a in S)
Hb = B.conj().T @ Hh @ B
assert np.allclose(Hb.imag, 0)
print("    S1.S2 in the T-fixed basis is real, diagonal", np.round(np.diag(Hb).real, 3))

# (b) one spin in a field: T = Ut K
Ut = -1j*sy
Bv = np.array([0.3, 0.5, 0.7])
H1 = -(Bv[0]*sx + Bv[1]*sy + Bv[2]*sz)
assert all(np.allclose(Ut @ s.conj() @ Ut.conj().T, -s) for s in (sx, sy, sz))
assert np.allclose(Ut @ H1.conj() @ Ut.conj().T, -H1)
ev = np.linalg.eigvalsh(H1)
print("(b) T H T^-1 = -H; levels", np.round(ev, 4), " splitting", round(ev[1]-ev[0], 4), "= 2|B| =", round(2*np.linalg.norm(Bv), 4))

# (c) GSE spectrum with both Kramers partners kept: every other spacing is zero, so r_n = 0
rng = np.random.default_rng(0)
M = 200
A = rng.normal(size=(2*M, 2*M)) + 1j*rng.normal(size=(2*M, 2*M))
H = A + A.conj().T
J = np.kron(np.eye(M), -1j*sy)                # T = J K on 2M-dim space, T^2 = -1
Hs = (H + J @ H.conj() @ J.conj().T)/2        # time-reversal-symmetric part: a GSE-type matrix
e = np.sort(np.linalg.eigvalsh(Hs))
s = np.diff(e)
r = np.minimum(s[:-1], s[1:])/np.maximum(s[:-1], s[1:])
print("(c) with both partners kept: <r> =", round(r.mean(), 6))

e1 = e[::2]
s1 = np.diff(e1)
r1 = np.minimum(s1[:-1], s1[1:])/np.maximum(s1[:-1], s1[1:])
print("    one member per pair: <r> =", round(r1.mean(), 3), "(GSE value 0.674, finite M)")
(a) T^2 = +1 for two spins
    T|00> = [0. 0. 0. 1.]
    T|01> = [ 0.  0. -1.  0.]
    T|10> = [ 0. -1.  0.  0.]
    T|11> = [1. 0. 0. 0.]
    S1.S2 in the T-fixed basis is real, diagonal [ 0.25  0.25 -0.75  0.25]
(b) T H T^-1 = -H; levels [-0.911  0.911]  splitting 1.8221 = 2|B| = 1.8221
(c) with both partners kept: <r> = 0.0
    one member per pair: <r> = 0.659 (GSE value 0.674, finite M)

Takeaway

Time reversal with \(\hat T^2=+\mathbb I\) gives a real basis (orthogonal class); a magnetic field breaks \(\hat T\) and lifts Kramers degeneracy; keeping both Kramers partners makes the gap ratio vanish identically.

References

  • Płodzień, Information Scrambling, Quantum Chaos, and Haar-Random States, lecture notes (2025). arXiv:2511.14397