quchip.interop.eigenbasis¶
A frozen energy-basis device for third-party models without a native quchip model.
Classes
|
Device backed by frozen energies and optional energy-basis operators. |
- class quchip.interop.eigenbasis.EigenbasisDevice(energies, *, charge_operator=None, phase_operator=None, levels=None, label=None, source_type=None, collapse_model='fermi_golden', coupling_channel=None, collapse_rate_threshold=1e-08, **noise)[source]¶
Bases:
BaseDeviceDevice backed by frozen energies and optional energy-basis operators.
This is the narrow import path for a third-party model that quchip cannot reconstruct from symbolic circuit parameters. Its authored local space is already the source model’s energy basis, so normal engine materialization applies without a device-owned diagonalization or projection path.
- Parameters:
- tunable_param_names = ()¶
Bare parameters this device exposes as differentiable / tunable scalars.
fit_a_dresswalks this tuple to discover what it is allowed to optimize on each device, decoupling the inverse-design surface from any specific device model. Three states, keyed on whether the value is explicitly declared:No explicit declaration anywhere in the
DeviceModellineage — the default is derived: every declaredparameter()field, in declaration order (seeDeviceModel.__init_subclass__).Explicit tuple on the class or an ancestor — exact curation, validated at class-definition time; authoritative and inherited until a subclass explicitly replaces it.
Explicit empty tuple — deliberately freezes the device (and its subclasses, until one replaces it) out of inverse design.
On a plain (non-
DeviceModel)BaseDevicesubclass there is no derivation; the default stays empty unless the subclass declares its own tuple — e.g.Fluxoniumuses("E_C", "E_J", "E_L", "phi_ext").
- dissipation(op, p)[source]¶
Return the common T1, T2, and thermal device channels.
- Parameters:
- Return type:
tuple[CollapseChannel, …]
- unresolved_hamiltonian()[source]¶
Return the frozen source spectrum as the authored Hamiltonian.
- Return type:
- eigenvectors()[source]¶
Return the identity map because the authored basis is energy ordered.
- Return type:
- charge_coupling_operator()[source]¶
Return the supplied charge-like operator in the authored basis.
- Return type:
- phase_coupling_operator()[source]¶
Return the supplied phase-like operator in the authored basis.
- Return type:
- physics_notes()[source]¶
Return human-readable declarations of this device’s approximations.
Each entry names a non-obvious assumption, approximation, or truncation that a user of this device should be aware of — e.g. “Hilbert truncation: 3 levels”, a model regime (Duffing), or a noise-channel selection (charge- vs flux-coupled T1).
The baseline entry is
_truncation_note(), since everyBaseDevicehas some form of Hilbert-space truncation. A pure-dephasing note is added whenT2is set, since the number-operator dephasing model carries non-obvious assumptions. Subclassessuper().physics_notes()and append their own model-specific notes; no registry / engine-side dispatch is needed.
- classmethod from_dict(data)[source]¶
Reconstruct from
to_dict()output.On the registry root, dispatch to the concrete subclass named by
data["type"](forwarding*args/**kwargs). On a concrete subclass, defer to_from_dict_payload(). Concrete subclasses that carry payload override this method directly.- Parameters:
- Return type: