quchip.chip.transformations.elimination_order¶
Default order of a chain of device eliminations (PHYSICS.md §10.8).
Each step of a chain is a second-order reduction, so the order sets which
fourth-order terms the chain keeps and how far the operators of kept devices
spread along the captured maps. EliminationOrder chooses each step
from the patch structure of the source chip and the current diagonal
transition energies. It is a cost-and-accuracy heuristic for dispersive chips
and does not bound the error.
Functions
|
Estimate the shift of each kept device that a Schrieffer-Wolff step of |
Classes
|
Choose each spectator of a chain of eliminations, and follow the patches of the chain. |
- class quchip.chip.transformations.elimination_order.EliminationOrder(chip, kept)[source]¶
Bases:
objectChoose each spectator of a chain of eliminations, and follow the patches of the chain.
The model starts from the rules of the local patch (PHYSICS.md §10.7) on the source chip. Each step links the survivors of its patch, as the effective terms of the step do, and moves each kept device’s operator support onto the patch survivors. When the step reads a level-dependent interaction, its correction can depend on levels on the diagonal, and the model assumes this dependence (
remove()). This conservative rule can make a patch larger than the local route’s, and a larger patch can change later choices. The model reads no reduced chip, solocal=Trueandlocal=Falseget the same order.- Parameters:
- reachable(spectators)[source]¶
Return the spectators that share a chain of neighbours with a kept device.
- patch(label)[source]¶
Return the devices that the step of
labelreads, aseliminate(..., local=True)would.
- supports(label=None)[source]¶
Return the support of each kept device’s operator, after the step of
labelwhen it is given.
- choose(read, caller)[source]¶
Return the next spectator and, when it has to break a wait, a note that says what the chain omits.
A spectator
vwaits while a spectator neighbouruhas a kept neighbourkwith|E_v - E_k| < |E_v - E_u| / 2, so that the chain keeps thek-vexchange shift. It also waits while its step would give two spectator neighboursaandban exchangex_ab + x_av x_vb (1/(E_a - E_v) + 1/(E_b - E_v)) / 2that is nonzero and at least0.1 |E'_a - E'_b|, the fold limit. This screens the predicted fold of the pair; it does not make every later fold valid.E'_a = E_a + |x_av|^2 / (E_a - E_v)is the estimated transition ofaafter the step.valso waits whenE_aorE_bequalsE_v. The pair does not stop the step whenx_abalone is nonzero and already reaches the limit.readreturns the current diagonal transition energiesEand the exchange elementsxof the labels it receives, in GHz. Among the spectators that do not wait, or all of them when every spectator waits, the rule takes a device with a spectator neighbour first, then the smallest widest kept-device support after the step, the smallest sum of these supports, the smallest patch and chip order.
- remove(label)[source]¶
Record the step of
label: link its patch survivors and move the supports that meet the patch.When a neighbour
soflabelorlabelitself has an interaction whose diagonal depends on the level of a devicet, the denominators of thes-labelprocesses read that level. The correction on the survivors can then depend on the levels ofsandton its diagonal, so later patches that holdsorthold every survivor.
- quchip.chip.transformations.elimination_order.omitted_shifts(target, kept, energies, elements, position)[source]¶
Estimate the shift of each kept device that a Schrieffer-Wolff step of
targetomits.A device
uthat stays on the chip and has exchange elements with bothtarget(v) and a kept devicekmediates the exchangeJ = sum_u x_ku x_uv (1/(E_k - E_u) + 1/(E_v - E_u)) / 2between them. The step foldsvagainstualone, so the chain omits the leading enhanced fourth-order shift|J|^2 / (E_k - E_v)ofk(PHYSICS.md §10.8).energiesholds the current diagonal transition energies of every device on the chip andelementsthe exchange elements of device pairs in chip order, as concrete values in GHz.The estimate needs dispersive legs and
|J / (E_k - E_v)|below the fold limit 0.1. Near resonance,kandvhybridize, and the omitted effect is not a dispersive shift. The elements hold the number-conserving terms only, so without RWA the estimate omits the counter-rotating virtual paths.Returns
{k: (shift, mediators, reason)}for each kept device with a mediator.shiftisNone, andreasonsays why, whenkandvalso exchange directly, when two of the transitions are degenerate, or when the estimate is outside this regime.