quchip.devices.fock¶
Convenience base for devices authored in a truncated Fock space.
Classes
|
Device with explicit conventional oscillator coupling operators. |
- class quchip.devices.fock.FockDevice(*, levels=2, label=None, **params)[source]¶
Bases:
DeviceModelDevice with explicit conventional oscillator coupling operators.
Subclasses still own their Hamiltonian and approximation. This base only declares the standard Fock-space operators used by charge, phase, and frequency-modulating drives.
- abstractmethod local_hamiltonian(op, p)[source]¶
Declare this device’s local Hamiltonian in its Fock space.
- Parameters:
- Return type:
- charge_coupling_operator()[source]¶
Return the conventional charge quadrature
i(a - a†).- Return type:
- flux_coupling_operator()[source]¶
Return the number operator used for frequency modulation.
- Return type:
- 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").