# Cavity

class boulderopal.superconducting.Cavity(dimension, frequency=None, kerr_coefficient=None, drive=None, name='cavity')

Class that stores all the physical system data for a cavity.

### Parameters

• dimension (int) – Number of dimensions of the Hilbert space of the cavity. Must be at least 2.
• frequency (real or np.ndarray or RealOptimizableSignal or RealOptimizableConstant , optional) – The frequency of the cavity or None, $\omega_c$. If not provided, it defaults to no frequency term.
• kerr_coefficient (real or np.ndarray or RealOptimizableSignal or RealOptimizableConstant or None , optional) – The nonlinearity of the cavity, $K$. If not provided, it defaults to no nonlinear term.
• drive (real or complex or np.ndarray or RealOptimizableSignal or RealOptimizableConstant or ComplexOptimizableSignal or ComplexOptimizableConstant or None , optional) – The complex drive of the cavity, $\gamma_c$. If not provided, it defaults to no drive term.
• name (str , optional) – The identifier of the cavity that is used to link interaction terms to this cavity. Defaults to “cavity”.

boulderopal.superconducting.CavityCavityInteraction : Class describing interactions between two cavities.

boulderopal.superconducting.Transmon : Class describing transmons in superconducting systems.

boulderopal.superconducting.TransmonCavityInteraction : Class describing interactions between a transmon and a cavity.

## Notes

The Hamiltonian for the cavity is defined as

$H_\mathrm{cavity} = \omega_c a^\dagger a + \frac{K}{2} (a^\dagger)^2 a^2 + \frac{1}{2} \left(\gamma_c a^\dagger + H.c. \right) ,$

where $H.c.$ indicates the Hermitian conjugate. All coefficients in the Hamiltonian are optional, and you should only pass those relevant to your system.