quchip.extensions.devices

Reference device models, including device-owned time dependence and loss.

Classes

FrequencyModulatedMode([frequency, ...])

Harmonic mode with a prescribed sinusoidal frequency variation.

LossyKerrCavity([freq, kerr, levels, label, ...])

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: FockDevice

Harmonic 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 t is 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. None selects an automatic label.

  • T1 (float or None, default None) – Energy-relaxation time in ns. None disables 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. None disables 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)
property freq: Any

Bare reference frequency in GHz.

local_hamiltonian(op, p)[source]

Return the static harmonic Hamiltonian.

Parameters:
time_terms(op, p)[source]

Return the sinusoidal frequency-modulation term.

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: KerrCavity

Kerr 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 KerrCavity parameters.

  • kerr – Inherited KerrCavity parameters.

  • levels – Inherited KerrCavity parameters.

  • label – Inherited KerrCavity parameters.

  • T1 – Inherited KerrCavity parameters.

  • T2 – Inherited KerrCavity parameters.

  • thermal_occupation – Inherited KerrCavity parameters.

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: