Fluxonium#

../../_images/fluxonium.png

The Hamiltonian of the fluxonium qubit [Manucharyan2009] in phase basis representation is given by

\[H=-4E_\text{C}\partial_\phi^2-E_\text{J}\cos(\phi-\varphi_\text{ext}) +\frac{1}{2}E_L\phi^2.\]

Here, \(E_C\) is the charging energy, \(E_J\) the Josephson energy, \(E_L\) the inductive energy, and \(\varphi_\text{ext}=2\pi \Phi_\text{ext}/\Phi_0\) the external flux in dimensionless form. The Fluxonium class internally uses the \(E_C\)-\(E_L\) harmonic-oscillator basis [Zhu2013] with truncation level specified by cutoff.

An instance of the fluxonium qubit is created as follows:

fluxonium = scqubits.Fluxonium(EJ = 8.9,
                               EC = 2.5,
                               EL = 0.5,
                               flux = 0.33,
                               cutoff = 110)

Here, the flux threading the circuit loop is specified by flux which records the flux in units of the magnetic flux quantum, \(\Phi_\text{ext}/\Phi_0\).

From within a Jupyter notebook, a fluxonium instance can alternatively be created with:

fluxonium = scqubits.Fluxonium.create()

This functionality is enabled if the ipywidgets package is installed, and displays GUI forms prompting for the entry of the required parameters.

Wavefunctions and visualization of eigenstates#

scqubits.Fluxonium.wavefunction(esys[, ...])

Returns a fluxonium wave function in phi basis

scqubits.Fluxonium.plot_wavefunction([...])

Plot 1d phase-basis wave function(s).

Implemented operators#

The following operators are implemented for use in matrix element calculations.

scqubits.Fluxonium.n_operator([energy_esys])

Returns the \(n = - i d/d\phi\) operator in the LC harmonic oscillator or eigenenergy basis.

scqubits.Fluxonium.phi_operator([energy_esys])

Returns the phi operator in the LC harmonic oscillator or eigenenergy basis.

scqubits.Fluxonium.exp_i_phi_operator([...])

Returns the \(e^{i (\alpha \phi + \beta) }\) operator, with \(\alpha\) and \(\beta\) being numbers, in the LC harmonic oscillator or eigenenergy basis.

scqubits.Fluxonium.cos_phi_operator([alpha, ...])

Returns the \(\cos (\alpha \phi + \beta)\) operator with \(\alpha\) and \(\beta\) being numbers, in the LC harmonic oscillator or eigenenergy basis.

scqubits.Fluxonium.sin_phi_operator([alpha, ...])

Returns the \(\sin (\alpha \phi + \beta)\) operator with \(\alpha\) and \(\beta\) being numbers, in the LC harmonic oscillator or eigenenergy basis.

Computation and visualization of matrix elements#

scqubits.Fluxonium.matrixelement_table(operator)

Returns table of matrix elements for operator with respect to the eigenstates of the qubit.

scqubits.Fluxonium.plot_matrixelements(operator)

Plots matrix elements for operator, given as a string referring to a class method that returns an operator matrix.

scqubits.Fluxonium.get_matelements_vs_paramvals(...)

Calculates matrix elements for a varying system parameter, given an array of parameter values.

scqubits.Fluxonium.plot_matelem_vs_paramvals(...)

Generates a simple plot of a set of eigenvalues as a function of one parameter.

Estimation of coherence times#

scqubits.Fluxonium.plot_coherence_vs_paramvals(...)

Show plots of coherence for various channels supported by the qubit as they vary as a function of a changing parameter.

scqubits.Fluxonium.plot_t1_effective_vs_paramvals(...)

Plot effective \(T_1\) coherence time (rate) as a function of changing parameter.

scqubits.Fluxonium.plot_t2_effective_vs_paramvals(...)

Plot effective \(T_2\) coherence time (rate) as a function of changing parameter.

scqubits.Fluxonium.t1(i, j, noise_op, ...[, ...])

Calculate the transition time (or rate) using Fermi's Golden Rule due to a noise channel with a spectral density spectral_density and system noise operator noise_op.

scqubits.Fluxonium.t1_capacitive([i, j, ...])

\(T_1\) due to dielectric dissipation in the Josephson junction capacitances.

scqubits.Fluxonium.t1_charge_impedance([i, ...])

Noise due to charge coupling to an impedance (such as a transmission line).

scqubits.Fluxonium.t1_effective([...])

Calculate the effective \(T_1\) time (or rate).

scqubits.Fluxonium.t1_flux_bias_line([i, j, ...])

Noise due to a bias flux line.

scqubits.Fluxonium.t1_inductive([i, j, ...])

\(T_1\) due to inductive dissipation in a superinductor.

scqubits.Fluxonium.t1_quasiparticle_tunneling([...])

Noise due to quasiparticle tunneling across a Josephson junction.

scqubits.Fluxonium.t2_effective([...])

Calculate the effective \(T_2\) time (or rate).

scqubits.Fluxonium.tphi_1_over_f(A_noise, i, ...)

Calculate the 1/f dephasing time (or rate) due to arbitrary noise source.

scqubits.Fluxonium.tphi_1_over_f_cc([...])

Calculate the 1/f dephasing time (or rate) due to critical current noise.

scqubits.Fluxonium.tphi_1_over_f_flux([...])

Calculate the 1/f dephasing time (or rate) due to flux noise.