quchip.chip.transformations.eliminate_device

Device-target elimination: adiabatic reduction of a far-detuned mode.

A mode touching one survivor (leaf) folds into a Lamb shift, plus a Purcell channel when the mode dissipates. A mode touching two or more survivors — bus / tunable-coupler (bridge) or several at once — additionally induces a mediated exchange J = g_a g_b / 2 · (1/Δ_a + 1/Δ_b) between every survivor pair, folded into the direct coupling between that pair when one exists or added as its own edge otherwise. A fixed eliminated mode emits a Capacitive; a frequency-controlled mode (or an already-modulable direct edge) emits a TunableCapacitive.

The reduction route (method="sw" / method="exact") is a ReductionMethod strategy; the generic P/Q partitioning kernels live in quchip.chip.sw. This module owns the fold — reading a route’s reduced parameters into a rebuilt chip and retargeting stranded control lines — and registers a device-kind EliminationTarget at import time, so eliminate() dispatches any device label here without importing this module directly.

Functions

mode_decay_rate(mode)

(kappa, has_purcell): the eliminated mode's own decay rate, and whether it decays at all.

reduce_device(chip, target, method)

Adiabatically eliminate a far-detuned device, folding its effect into the survivors.

quchip.chip.transformations.eliminate_device.mode_decay_rate(mode)[source]

(kappa, has_purcell): the eliminated mode’s own decay rate, and whether it decays at all.

Reads intrinsic_decay_rate(), which each device class owns — e.g. Resonator combines its Q-derived photon loss with any T1, matching its actual collapse_operators(). Whether a channel exists is a static decision (does the hook return None?), never a traced-zero comparison on the resulting rate, which would concretize a traced value and break differentiability.

Parameters:

mode (Any)

Return type:

tuple[Any, bool]

quchip.chip.transformations.eliminate_device.reduce_device(chip, target, method)[source]

Adiabatically eliminate a far-detuned device, folding its effect into the survivors.

The registry guarantees target names a device on chip, and eliminate() has already validated method. See eliminate() for the full physics contract and the method semantics.

Parameters:
  • chip (Chip) – Source chip (never mutated).

  • target (Any) – The device to eliminate — label string or object.

  • method (str) – The reduction route ("sw" or "exact"), already validated.

Return type:

EliminationResult