Andreev
Andreev pair qubit: pure Andreev bound states in a superconducting weak link, discretized in the charge basis.
- class HybridSuperQubits.andreev.Andreev(Ec, Gamma, delta_Gamma, er, phase, ng, n_cut, Delta=40)[source]
Bases:
QubitBase- PARAM_LABELS: dict[str, str] = {'Ec': '$E_C$', 'Gamma': '$\\Gamma$', 'delta_Gamma': '$\\delta \\Gamma$', 'er': '$\\epsilon_r$', 'ng': '$n_g$', 'phase': '$\\Phi_{ext} / \\Phi_0$'}
- OPERATOR_LABELS: dict[str, str] = {'d_hamiltonian_d_deltaGamma': '\\partial \\hat{H} / \\partial \\delta \\Gamma', 'd_hamiltonian_d_er': '\\partial \\hat{H} / \\partial \\epsilon_r', 'd_hamiltonian_d_ng': '\\partial \\hat{H} / \\partial n_g', 'n_operator': '\\hat{n}'}
- __init__(Ec, Gamma, delta_Gamma, er, phase, ng, n_cut, Delta=40)[source]
Initializes the Ferbo class with the given parameters.
- Parameters:
Ec (float) – Charging energy.
Gamma (float) – Coupling strength.
delta_Gamma (float) – Coupling strength difference.
er (float) – Energy relaxation rate.
phase (float) – External magnetic phase.
dimension (int) – Dimension of the Hilbert space.
ng (float) – Charge offset.
n_cut (int) – Maximum number of charge states.
Delta (float) – Superconducting gap.
- n_operator()[source]
Returns the charge number operator adjusted for half-charge translations.
- Returns:
The charge number operator.
- Return type:
np.ndarray
- jrl_potential()[source]
Returns the Josephson Resonance Level potential in the half-charge basis.
- Returns:
The Josephson Resonance Level potential.
- Return type:
np.ndarray
- hamiltonian()[source]
Returns the Hamiltonian of the system.
- Returns:
The Hamiltonian of the system.
- Return type:
np.ndarray
- d_hamiltonian_d_ng()[source]
Returns the derivative of the Hamiltonian with respect to the number of charge offset.
- Returns:
The derivative of the Hamiltonian with respect to the number of charge offset.
- Return type:
np.ndarray
- d_hamiltonian_d_phase()[source]
Returns the derivative of the Hamiltonian with respect to the external magnetic phase.
- Returns:
The derivative of the Hamiltonian with respect to the external magnetic phase.
- Return type:
np.ndarray
- d_hamiltonian_d_er()[source]
Returns the derivative of the Hamiltonian with respect to the energy relaxation rate.
- Returns:
The derivative of the Hamiltonian with respect to the energy relaxation rate.
- Return type:
Qobj
- d_hamiltonian_d_deltaGamma()[source]
Returns the derivative of the Hamiltonian with respect to the coupling strength difference.
- Returns:
The derivative of the Hamiltonian with respect to the coupling strength difference.
- Return type:
Qobj
- wavefunction(which=0, phi_grid=None, esys=None, basis='default')[source]
Returns a wave function in the phi basis.
- Parameters:
which (int, optional) – Index of desired wave function (default is 0).
phi_grid (np.ndarray, optional) – Custom grid for phi; if None, a default grid is used.
basis (Literal["default", "abs"], optional) – Basis in which to return the wave function (‘default’ or ‘abs’) (default is ‘default’).
- Returns:
Wave function data containing basis labels, amplitudes, and energy.
- Return type:
Dict[str, Any]
- potential(phi)[source]
Calculates the potential energy for given values of phi.
- Parameters:
phi (Union[float, np.ndarray]) – The phase values at which to calculate the potential.
- Returns:
The potential energy values.
- Return type:
np.ndarray
- plot_wavefunction(which=0, phi_grid=None, esys=None, scaling=None, basis='default', **kwargs)[source]
Plot the wave function in the phi basis.
- Parameters:
which (Union[int, Iterable[int]], optional) – Index or indices of desired wave function(s) (default is 0).
phi_grid (np.ndarray, optional) – Custom grid for phi; if None, a default grid is used.
esys (Tuple[np.ndarray, np.ndarray], optional) – Precomputed eigenvalues and eigenvectors.
basis (Literal["default", "abs"], optional) – Basis in which to return the wavefunction (‘default’ or ‘abs’) (default is ‘default’).
**kwargs –
Additional arguments for plotting. Can include: - fig_ax: Tuple[plt.Figure, plt.Axes], optional
Figure and axes to use for plotting. If not provided, a new figure and axes are created.
scaling (float | None)
- Returns:
The figure and axes of the plot.
- Return type:
Tuple[plt.Figure, plt.Axes]