ZeroPi#
The Zero-Pi qubit [Brooks2013] [Dempster2014], when decoupled from the zeta mode, is described by the Hamiltonian
expressed in phase basis. The definition of the relevant charging energies \(E_\text{CJ}\), \(E_{\text{C}\Sigma}\), Josephson energies \(E_\text{J}\), inductive energies \(E_\text{L}\), and relative amounts of disorder \(dC_\text{J}\), \(dE_\text{J}\) follows [Groszkowski2018].
Internally, the ZeroPi
class formulates the Hamiltonian matrix by discretizing the phi
variable, and
using charge basis for the theta
variable.
An instance of the Zero-Pi qubit is created as follows:
phi_grid = scqubits.Grid1d(-6*np.pi, 6*np.pi, 200)
zero_pi = scqubits.ZeroPi(grid = phi_grid,
EJ = 0.25,
EL = 10.0**(-2),
ECJ = 0.5,
EC = None,
ECS = 10.0**(-3),
ng = 0.1,
flux = 0.23,
ncut = 30)
Here, flux
is given in units of the flux quantum, i.e., in the form \(\Phi_\text{ext}/\Phi_0\). In the above example,
the disorder parameters dEJ
and dCJ
are not specified, and hence take on the default value zero (no disorder).
From within Jupyter notebook, a fluxonium instance can alternatively be created with:
zero_pi = scqubits.ZeroPi.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#
|
Returns a zero-pi wave function in phi, theta basis |
|
Plots 2d phase-basis wave function. |
Implemented operators#
The following operators are implemented for use in matrix element calculations.
Operator \(i d/d\phi\). |
|
|
Returns \(\phi\) operator in the native or eigenenergy basis. |
|
Returns \(n_\theta\) operator in the native or eigenenergy basis. |
|
Returns \(\cos(\theta)\) operator in the native or eigenenergy basis. |
|
Returns \(\sin(\theta)\) operator in the native or eigenenergy basis. |
Computation and visualization of matrix elements#
|
Returns table of matrix elements for operator with respect to the eigenstates of the qubit. |
|
Plots matrix elements for operator, given as a string referring to a class method that returns an operator matrix. |
Calculates matrix elements for a varying system parameter, given an array of parameter values. |
|
Generates a simple plot of a set of eigenvalues as a function of one parameter. |
Utility method for setting charging energies#
Helper function to set EC by providing ECS, keeping ECJ constant. |
Estimation of coherence times#
Show plots of coherence for various channels supported by the qubit as they vary as a function of a changing parameter. |
|
Plot effective \(T_1\) coherence time (rate) as a function of changing parameter. |
|
Plot effective \(T_2\) coherence time (rate) as a function of changing parameter. |
|
|
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. |
|
Calculate the effective \(T_1\) time (or rate). |
|
Noise due to a bias flux line. |
|
\(T_1\) due to inductive dissipation in a superinductor. |
|
Calculate the effective \(T_2\) time (or rate). |
|
Calculate the 1/f dephasing time (or rate) due to arbitrary noise source. |
|
Calculate the 1/f dephasing time (or rate) due to critical current noise. |
Calculate the 1/f dephasing time (or rate) due to flux noise. |