quchip.extensions.devices¶
Reference device models, including device-owned time dependence and loss.
Classes
|
Harmonic mode with a prescribed sinusoidal frequency variation. |
|
Kerr cavity with an intrinsic two-photon-loss channel. |
- class quchip.extensions.devices.FrequencyModulatedMode(frequency=unbound, modulation_amplitude=unbound, modulation_frequency=unbound, modulation_phase=0.0, *, levels=10, label=None, T1=None, T2=None, thermal_occupation=None)[source]¶
Bases:
FockDeviceHarmonic mode with a prescribed sinusoidal frequency variation.
The authored Hamiltonian is \(H_0=\omega_0 n\) and the time term is \(\delta\omega\cos(2\pi\nu_m t+\phi_m)n\). Frequencies are ordinary GHz and
tis in ns.- Parameters:
frequency (float) – Bare mode frequency \(\omega_0\) in GHz. Must be positive.
modulation_amplitude (float) – Frequency excursion \(\delta\omega\) in GHz. Can be signed.
modulation_frequency (float) – Modulation frequency \(\nu_m\) in GHz. Must be positive.
modulation_phase (float, default 0.0) – Phase \(\phi_m\) in radians.
levels (int, default 10) – Fock truncation dimension.
label (str or None, default None) – Device label.
Noneselects an automatic label.T1 (float or None, default None) – Energy-relaxation time in ns.
Nonedisables T1 relaxation.T2 (float or None, default None) – Total 0-1 coherence time in ns. If both are set,
T2 <= 2*T1.thermal_occupation (float or None, default None) – Dimensionless mean bath occupation.
Nonedisables absorption.
References
See Didier et al., Phys. Rev. A 97, 022330 (2018), https://doi.org/10.1103/PhysRevA.97.022330, for parametrically modulated transmon models.
- approximation = 'Single harmonic mode in a fixed Fock basis with an externally prescribed sinusoidal frequency coefficient.'¶
Declared approximation-regime statement surfaced by
physics_notes()— the mechanism that keeps a model’s stated validity range attached to the class rather than buried in a docstring a caller may not read.
- frequency: Scalar = Parameter(default=unbound, positive=True, nonnegative=False, serialize=True, unit='GHz', symbol='\\omega_0', noise=False, kw_only=False, required=False)¶
- modulation_amplitude: Scalar = Parameter(default=unbound, positive=False, nonnegative=False, serialize=True, unit='GHz', symbol='\\delta\\omega', noise=False, kw_only=False, required=False)¶
- modulation_frequency: Scalar = Parameter(default=unbound, positive=True, nonnegative=False, serialize=True, unit='GHz', symbol='\\nu_m', noise=False, kw_only=False, required=False)¶
- modulation_phase: Scalar = Parameter(default=0.0, positive=False, nonnegative=False, serialize=True, unit='rad', symbol='\\phi_m', noise=False, kw_only=False, required=False)¶
- local_hamiltonian(op, p)[source]¶
Return the static harmonic Hamiltonian.
- Parameters:
op (LocalOps) – Local operator namespace.
p (ParameterNamespace) – Bound symbolic parameters.
- time_terms(op, p)[source]¶
Return the sinusoidal frequency-modulation term.
- Parameters:
op (LocalOps) – Local operator namespace.
p (ParameterNamespace) – Bound symbolic parameters.
- tunable_param_names = ('frequency', 'modulation_amplitude', 'modulation_frequency', 'modulation_phase')¶
Parameters eligible for inverse design. DeviceModel derives these from declared fields unless the class or an ancestor supplies a tuple. Explicit tuples remain authoritative when inherited; an empty tuple excludes the device from inverse design. Plain BaseDevice subclasses default to an empty tuple without derivation.
- class quchip.extensions.devices.LossyKerrCavity(freq=unbound, kerr=unbound, *, levels=30, label=None, T1=None, T2=None, thermal_occupation=None, two_photon_loss_rate=unbound)[source]¶
Bases:
KerrCavityKerr cavity with an intrinsic two-photon-loss channel.
- Parameters:
two_photon_loss_rate (float) – Non-negative two-photon Lindblad rate \(\kappa_2\) in 1/ns.
freq – Inherited
KerrCavityparameters.kerr – Inherited
KerrCavityparameters.levels – Inherited
KerrCavityparameters.label – Inherited
KerrCavityparameters.T1 – Inherited
KerrCavityparameters.T2 – Inherited
KerrCavityparameters.thermal_occupation – Inherited
KerrCavityparameters.
- two_photon_loss_rate: Scalar = Parameter(default=unbound, positive=False, nonnegative=True, serialize=True, unit='1/ns', symbol='\\kappa_2', noise=True, kw_only=True, required=False)¶
- dissipation(op, p)[source]¶
Return inherited channels plus two-photon loss at
kappa_2.- Parameters:
op (LocalOps) – Local operator namespace.
p (ParameterNamespace) – Bound symbolic parameters.