Transmon

class boulderopal.superconducting.Transmon(dimension, frequency=None, anharmonicity=None, drive=None, name='transmon')

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

Parameters:
  • dimension (int) – Number of dimensions of the Hilbert space of the transmon. Must be at least 2.

  • frequency (real or np.ndarray or RealOptimizableSignal or RealOptimizableConstant or None, optional) – The frequency of the transmon, \(\omega_t\). If not provided, it defaults to no frequency term.

  • anharmonicity (real or np.ndarray or RealOptimizableSignal or RealOptimizableConstant or None, optional) – The nonlinearity of the transmon, \(\alpha\). If not provided, it defaults to no anharmonicity term.

  • drive (real or complex or np.ndarray or RealOptimizableSignal or RealOptimizableConstant or ComplexOptimizableSignal or ComplexOptimizableConstant or None, optional) – The complex drive of the transmon, \(\gamma_t\). If not provided, it defaults to no drive term.

  • name (str, optional) – The identifier of the transmon that is used to link interaction terms to this transmon. Defaults to “transmon”.

See also

boulderopal.superconducting.Cavity

Class describing cavities in superconducting systems.

boulderopal.superconducting.TransmonCavityInteraction

Class describing interactions between a transmon and a cavity.

boulderopal.superconducting.TransmonTransmonInteraction

Class describing interactions between two transmons.

Notes

The Hamiltonian for the transmon is defined as

\[H_\mathrm{transmon} = \omega_t b^\dagger b + \frac{\alpha}{2} (b^\dagger)^2 b^2 + \frac{1}{2} \left(\gamma_t b^\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.