FullZeroPi#

../../_images/fullzeropi.png

The full Zero-Pi qubit [Brooks2013] [Dempster2014] includes the coupling of the primary qubit degrees of freedom to the zeta mode. It is described by the Hamiltonian \(H = H_{0-\pi} + H_\text{int} + H_\zeta\), where

\[\begin{split}H_{0-\pi} =& -2E_\text{CJ}\partial_\phi^2+2E_{\text{C}\Sigma}(i\partial_\theta-n_g)^2 +2E_{C\Sigma}dC_J\,\partial_\phi\partial_\theta\\ & -2E_\text{J}\cos\theta\cos(\phi-\varphi_\text{ext}/2)+E_L\phi^2+2E_\text{J} + E_J dE_J \sin\theta\sin(\phi-\varphi_\text{ext}/2) \\ H_\text{int} =& 2E_{C\Sigma}dC\,\partial_\theta\partial_\zeta + E_L dE_L \phi\,\zeta\\ H_\zeta =& \omega_\zeta a^\dagger a\end{split}\]

expressed in the 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}\), \(dC\), \(dE_\text{L}\) follows [Groszkowski2018]. Internally, the FullZeroPi class formulates the Hamiltonian matrix via the product basis of the decoupled Zero-Pi qubit (realized by ZeroPi) on one hand, and the zeta LC oscillator on the other hand.

An instance of the full Zero-Pi qubit is created as follows:

phi_grid = scqubits.Grid1d(-6*np.pi, 6*np.pi, 200)

zero_pi = scqubits.FullZeroPi(grid = phi_grid,
                             EJ   = 0.25,
                             EL   = 10.0**(-2),
                             ECJ  = 0.5,
                             EC   = 0.001,
                             dEJ  = 0.05,
                             dCJ  = 0.05,
                             dEL  = 0.01,
                             dC   = 0.08,
                             ng   = 0.1,
                             flux = 0.23,
                             ncut = 30,
                             zeropi_cutoff = 10,
                             zeta_cutoff = 30)

Here, flux is given in in terms 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, an instance of the disordered Zero-Pi qubit can alternatively be created with:

zero_pi = scqubits.ZeroPiFull.create()

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

Implemented operators#

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

scqubits.FullZeroPi.i_d_dphi_operator([...])

Returns \(i d/d\phi\) operator in the product or eigenenergy basis.

scqubits.FullZeroPi.phi_operator([...])

Returns \(\phi\) operator in the product or eigenenergy basis.

scqubits.FullZeroPi.n_theta_operator([...])

Returns \(n_\theta\) operator in the product or eigenenergy basis.

Computation and visualization of matrix elements#

scqubits.FullZeroPi.matrixelement_table(operator)

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

scqubits.FullZeroPi.plot_matrixelements(operator)

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

scqubits.FullZeroPi.get_matelements_vs_paramvals(...)

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

scqubits.FullZeroPi.plot_matelem_vs_paramvals(...)

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

scqubits.FullZeroPi.g_coupling_matrix([...])

Returns a matrix of coupling strengths g_{ll'} [cmp.

scqubits.FullZeroPi.g_phi_coupling_matrix(...)

Returns a matrix of coupling strengths g^phi_{ll'} [cmp.

scqubits.FullZeroPi.g_theta_coupling_matrix(...)

Returns a matrix of coupling strengths i*g^theta_{ll'} [cmp.

Utility method for setting charging energies#

scqubits.ZeroPi.set_EC_via_ECS(ECS)

Helper function to set EC by providing ECS, keeping ECJ constant.