quchip.chip.transformations.eliminate_coupling¶
Coupling-target elimination: reduce an exchange edge to its dressed cross-Kerr.
The device path removes a mode; this path removes an edge. Both endpoint
devices survive (Lamb-shifted), and the exchange coupling between them is
replaced by a CrossKerr carrying the full
dressed pull χ = E₁₁ − E₁₀ − E₀₁ + E₀₀, read off the chip’s exact dressed
spectrum. This is the effective-readout-chip flow — reduce a qubit-resonator
exchange edge to the diagonal interaction an ordinary charge line probes.
The handler registers a coupling-kind EliminationTarget
at import time, so eliminate()
dispatches any coupling label here without importing this module directly.
Functions
|
Reduce an exchange edge to its dressed cross-Kerr shift; both endpoints survive. |
- quchip.chip.transformations.eliminate_coupling.reduce_coupling(chip, target, method)[source]¶
Reduce an exchange edge to its dressed cross-Kerr shift; both endpoints survive.
Unlike device elimination, no mode is removed — the edge itself is the target, so there is no P/Q block to partition and no perturbative “sw” route: both endpoints’ dressed 0→1 frequencies (the other endpoint pinned to its ground state) come from the chip’s exact dressed spectrum regardless of
eliminate()’smethodargument, viafreq(). The coupling is replaced by aCrossKerrcarrying the full dressed pullχ = E₁₁ − E₁₀ − E₀₁ + E₀₀— one full-chip diagonalization viaChip.dispersive_shift(). This is a uniform-χ approximation (CrossKerr’s own declared approximation): per-level χ differences and dispersive breakdown near the critical photon number are not represented.chiis evaluated eagerly rather than deferred like the device path’s lazyeffective_params["chi"]entry —CrossKerrmultiplies itschiparameter directly into an operator expression, so a live value (not a callable) is what the coupling itself needs; eager evaluation here is more JAX-friendly than the alternative, not less.Both endpoint devices survive, so no device-targeting control line is stranded. A line pumping the eliminated coupling itself has no image in the reduced model unless a registered rule converts it (
result_kind = "crosskerr",quchip.chip.retarget) — none ships, so such a line always raises the same fail-fast error the device path raises for a doomed line, before any fold work runs.- Parameters:
chip (Chip) – Source chip (never mutated).
target (Any) – The coupling to eliminate — label string or object.
method (str) – Accepted for signature uniformity with the device path and has no effect here: no mode is removed, so the reduction always reads the chip’s exact dressed spectrum (
eliminate()has already validated it).
- Return type:
- Raises:
NotImplementedError –
targetnames a coupling whose class does not declarereduces_to_crosskerr(its physics is not exchange-like), or either endpoint device exposes no'freq'tunable for the Lamb shift to land on.