quchip.analysis.dispersive_readout¶
Calculate steady-state dispersive pointer states and detected information.
The model is a linear resonator with vacuum energy loss and fixed qubit state.
It excludes ring-up transients, thermal noise, and measurement-induced qubit T1.
kappa is the total energy linewidth. kappa_detected is the observed
part, before detector efficiency. Elimination’s intrinsic downward-decay
summary is not a general linewidth or detected rate.
For drive detuning delta_j = 2pi*(delta_r + j*chi_eff),
alpha_j = -i*eps/(kappa/2 + i*delta_j). The ground-state photon number is
nbar_0 = |alpha_0|². The dephasing rate is
Gamma_m = kappa*|alpha_1-alpha_0|²/2. Heterodyne detection gives
SNR = |alpha_1-alpha_0|*sqrt(2*efficiency*kappa_detected*tau).
chi is the full pull f_r|1-f_r|0 in GHz. With
Z=|0><0|-|1><1|, the angular coefficient of Z*n_r is -pi*chi.
The small-pull limit is 8*(pi*chi)²*nbar_0/kappa divided by
1+(4pi*delta_r/kappa)². It reduces to the usual expression on resonance.
The optional chi/(1+nbar_0/n_crit) interpolation is phenomenological.
It does not extend dispersive theory into a controlled strong-drive regime.
For a two-level Jaynes-Cummings model, n_crit=Delta²/(4g²) uses the resolved
exchange matrix element. Multilevel dispersive limits depend on both qubit
transition detunings and the occupied levels.
References
Koch et al., PRA 76, 042319 (2007), section III B: https://arxiv.org/abs/cond-mat/0703002. Gambetta et al., PRA 74, 042318 (2006): https://arxiv.org/abs/cond-mat/0602322. Krantz et al., Applied Physics Reviews 6, 021318 (2019), section V: https://arxiv.org/abs/1904.06560. Blais et al., RMP 93, 025005 (2021), section III.3: https://arxiv.org/abs/2005.12667.
Functions
|
Calculate closed-form steady-state readout figures of merit from |
Classes
|
Store steady-state dispersive-readout figures of merit. |
- class quchip.analysis.dispersive_readout.DispersiveReadoutResult(pointer_states, photon_numbers, sigma, snr, assignment_error, dephasing_rate, chi_eff, validity, notes)[source]¶
Bases:
objectStore steady-state dispersive-readout figures of merit.
All numeric fields stay in the inputs’ array namespace (JAX in, JAX out), so the full result traces under
jax.jit/grad. Ifn_critwas given,validityholds{"n_over_ncrit", "below_ncrit"}, and otherwise is empty. Under jit/grad,below_ncritis a traced boolean, so read it outside the traced region or branch withjnp.where. Here,chiis the full pullf_r|1 − f_r|0in GHz.- Variables:
pointer_states (Any) – Complex
α_jin the IQ plane, shape(levels,).photon_numbers (Any) – Steady-state photons
|α_j|², shape(levels,).sigma (Any) – Integrated vacuum-noise width in the cavity amplitude plane. It is
1/sqrt(2*efficiency*kappa_detected*tau), or infinity without detection.snr (Any) – Pointer separation divided by
sigma.assignment_error (Any) –
½·erfc(SNR/(2√2)), the optimal linear discriminant between two equal Gaussians.dephasing_rate (Any) – Measurement-induced dephasing
Γ_m = κ·|α₁ − α₀|²/2in 1/ns.chi_eff (Any) –
chi, orchi/(1 + n̄₀/n_crit)whenn_critwas given (GHz).notes (list[str]) – Physics that the analysis explicitly drops.
- quchip.analysis.dispersive_readout.analyze_dispersive_readout(chi, kappa, tau, *, n_photons=None, eps=None, delta_r=0.0, n_crit=None, levels=2, kappa_detected=None, efficiency=1.0)[source]¶
Calculate closed-form steady-state readout figures of merit from
(chi, kappa).- Parameters:
chi (Any) – Full pull
f_r|1-f_r|0in ordinary GHz. Its signed Pauli coefficient is-chi/2forZ=|0><0|-|1><1|. Elimination reports this full pull.kappa (Any) – Positive total resonator energy linewidth in 1/ns, including observed and unobserved vacuum loss. Exclude pure dephasing. Elimination’s intrinsic downward-decay diagnostic is not a general replacement.
tau (Any) – Positive integration time in ns.
n_photons (Any) – Nonnegative ground-state steady photon number, or None. Give exactly one of
n_photonsandeps. This setseps=sqrt(n_photons*((kappa/2)**2+(2*pi*delta_r)**2)).eps (Any) – Complex drive rate in rad/ns, or None. Give exactly one of
epsandn_photons. It is the coefficient driving the cavity amplitude.delta_r (Any) – Real
f_r|0-f_drivein GHz. The default zero drives the ground-state cavity resonance. Positive values place the drive below resonance.n_crit (Any) – Positive critical-occupation estimate, or None by default. When given, apply the phenomenological interpolation
chi/(1+nbar_0/n_crit). Reportn_over_ncritandbelow_ncritwithout certifying validity.levels (int) – Static Python integer of at least two, default two. Level
jhas the assumed pullj*chi. Higher conditional frequencies are not derived from a multilevel Hamiltonian.kappa_detected (Any) – Observed energy-loss rate in 1/ns, between zero and
kappa. None defaults tokappa, representing complete collection.efficiency (Any) – Detection efficiency between zero and one, default one. Zero gives zero SNR, infinite
sigma, and assignment error one half.
- Return type:
- Raises:
ValueError – If drive arguments are ambiguous,
levelsis invalid, or concrete numerical values are nonfinite or outside their stated domains. Numerical domain checks are skipped for tracers. Callers must keep traced inputs within the same physical domains.
Examples
>>> from quchip import analyze_dispersive_readout >>> ro = analyze_dispersive_readout(chi=0.002, kappa=0.005, tau=500.0, n_photons=2.0) >>> snr, p_err = ro.snr, ro.assignment_error
Specify total and detected loss from the physical cavity and receiver. For example,
kappa_detected=0.004withkappa=0.005leaves0.001/nsunobserved.