Dispersive shift is the frequency shift of one qubit when another qubit changes state. In coupled qubits, the interaction Hamiltonian causes energy shifts dependent on the state of the coupled qubit.
For capacitively coupled transmons with coupling $g_{12} n_1 n_2$:
$$\Delta \omega_1 = 2 g_{12} |\alpha|$$
where $\alpha$ is the anharmonicity of qubit 2. The shift is proportional to the anharmonicity, so low-$\alpha$ qubits have small dispersive shifts.
from scqubits import Transmon, HilbertSpace, InteractionTerm qubit1 = Transmon(EJ=15.0, EC=0.3, ncut=30) qubit2 = Transmon(EJ=15.0, EC=0.3, ncut=30) hilbert = HilbertSpace([qubit1, qubit2]) g = 0.01 # Coupling interaction = InteractionTerm(g=g, op1=qubit1.n_operator(), op2=qubit2.n_operator()) hilbert.add_interaction(interaction) # Spectrum with coupling evals = hilbert.hamiltonian().eigenenergies() # The level splittings reveal dispersive coupling # |00⟩, |01⟩, |10⟩, |11⟩ levels show the shift
Dispersive shifts are used for qubit readout: measure the frequency shift to infer the state. They also cause qubit-qubit dephasing if unaccounted for in pulse design.