Givens Rotation Gate
A two-qubit rotation in the single-excitation subspace, the primitive for orbital rotations in fermionic simulation.
Definition
A Givens rotation on qubits is a real rotation that mixes the |01⟩ and |10⟩ states by angle θ while leaving |00⟩ and |11⟩ fixed. It is the quantum embedding of the classical Givens rotation used to zero out matrix entries, applied here to rotate between two fermionic orbital modes.
Matrix
Unlike the XX+YY gate, the standard Givens rotation uses real entries with no i phase, so it maps real amplitude vectors to real ones. It is exactly the number-conserving, phase-free exchange.
Orbital rotations
Any change of single-particle basis for n fermionic modes — a rotation of orbitals — factors into a network of Givens rotations, exactly as any orthogonal matrix factors into planar Givens rotations. This gives an efficient, linear-depth circuit for basis changes that is central to quantum chemistry algorithms.
import numpy as np
def givens(theta):
c, s = np.cos(theta), np.sin(theta)
m = np.eye(4, dtype=complex)
m[1,1]=c; m[2,2]=c; m[1,2]=-s; m[2,1]=s
return m
Uses
Givens networks implement the free-fermion evolution that diagonalizes quadratic Hamiltonians, prepare Slater-determinant reference states, and perform the orbital-optimization steps of variational chemistry. Because free-fermion circuits are classically simulable, Givens-only circuits are also a useful benchmarking and verification tool. See XX+YY gate and controlled-RY.