J. Koch and P. Groszkowski
For further documentation of scqubits see https://scqubits.readthedocs.io/en/latest/.
import numpy as np
import scqubits as scq
$H_\text{fl}=-4E_\text{C}\partial_\phi^2-E_\text{J}\cos(\phi-\varphi_\text{ext}) +\frac{1}{2}E_L\phi^2$
Creation via GUI (ipywidgets needs to be installed for this to work.)
fluxonium = scq.Fluxonium.create()
Row(children=[Row(children=[ValidatedNumberField(class_='ml-2 py-0', dense=True, error=False, filled=True, lab…
print(fluxonium)
Fluxonium-----------| [Fluxonium_1] | EJ: 8.9 | EC: 2.5 | EL: 0.5 | flux: 0.0 | cutoff: 110 | truncated_dim: 10 | | dim: 110
Programmatic creation
fluxonium2 = scq.Fluxonium(
EJ=8.9,
EC=2.5,
EL=0.5,
cutoff = 110,
flux = 0.5
)
fluxonium.eigenvals()
array([-2.7022458 , 6.05619946, 6.27730681, 8.29978855, 14.23074422, 16.86961382])
flux_list = np.linspace(-0.5, 0.5, 151)
fluxonium.plot_evals_vs_paramvals('flux', flux_list, evals_count=8);
Spectral data: 0%| | 0/151 [00:00<?, ?it/s]
fluxonium.cos_phi_operator()
array([[ 2.05740661e-01, 0.00000000e+00, -4.60050104e-01, ..., 0.00000000e+00, 1.78616165e-61, 0.00000000e+00], [ 0.00000000e+00, -4.44868435e-01, 0.00000000e+00, ..., -6.10025949e-59, 0.00000000e+00, 1.86480751e-60], [-4.60050104e-01, 0.00000000e+00, -6.67742262e-02, ..., 0.00000000e+00, -4.34635215e-58, 0.00000000e+00], ..., [ 0.00000000e+00, -6.10025949e-59, 0.00000000e+00, ..., -9.18367880e-02, 0.00000000e+00, -3.20968756e-02], [ 1.78616165e-61, 0.00000000e+00, -4.34635215e-58, ..., 0.00000000e+00, -4.30134088e-02, 0.00000000e+00], [ 0.00000000e+00, 1.86480751e-60, 0.00000000e+00, ..., -3.20968756e-02, 0.00000000e+00, -1.10641059e-02]])
fluxonium.plot_evals_vs_paramvals('flux', flux_list, evals_count=9, subtract_ground=True);
Spectral data: 0%| | 0/151 [00:00<?, ?it/s]
fluxonium.flux = 0.5
fluxonium.plot_wavefunction(esys=None, which=range(5), mode='real');
fluxonium = scq.Fluxonium(
EJ=5.7,
EC=1.2,
EL=1.0,
cutoff = 150,
flux = 0.5
)
fig, axes=fluxonium.plot_wavefunction(esys=None, which=[0,1,2,3,4,5], mode='real');
phimat = fluxonium.matrixelement_table('phi_operator', evals_count=10)
print(phimat)
[[ 1.51659837e-14 -2.42020774e+00 -3.31512529e-15 -5.96669304e-01 -9.22166061e-16 1.26034410e-02 -4.13952433e-16 -1.05152531e-02 2.87679470e-16 2.08796925e-03] [-2.42020774e+00 -1.63467401e-14 1.16100233e+00 -2.05031182e-16 1.98939356e-01 -2.84015158e-16 1.96392027e-02 -1.52742004e-15 -1.88229452e-03 -1.06658293e-15] [-3.31512529e-15 1.16100233e+00 -3.35238405e-15 2.02810531e+00 -2.48560576e-16 -2.87499531e-01 3.19020027e-16 3.19256763e-02 -1.69781842e-15 -1.96457721e-04] [-5.96669304e-01 -2.05031182e-16 2.02810531e+00 2.50410897e-15 2.11221368e+00 1.07046992e-15 -1.78076985e-01 -2.99510625e-15 -4.52028150e-02 -2.65190559e-15] [-9.22166061e-16 1.98939356e-01 -2.48560576e-16 2.11221368e+00 4.32681345e-15 -2.41344721e+00 3.37073763e-15 -1.41490331e-01 -2.22149451e-15 5.74957935e-02] [ 1.26034410e-02 -2.84015158e-16 -2.87499531e-01 1.07046992e-15 -2.41344721e+00 4.82877016e-15 2.65902027e+00 8.83847482e-15 -7.06894388e-02 4.07446071e-15] [-4.13952433e-16 1.96392027e-02 3.19020027e-16 -1.78076985e-01 3.37073763e-15 2.65902027e+00 -1.52599744e-14 2.95543793e+00 5.88146829e-16 -2.89606649e-02] [-1.05152531e-02 -1.52742004e-15 3.19256763e-02 -2.99510625e-15 -1.41490331e-01 8.83847482e-15 2.95543793e+00 -5.51616948e-15 -3.32236039e+00 1.88748189e-14] [ 2.87679470e-16 -1.88229452e-03 -1.69781842e-15 -4.52028150e-02 -2.22149451e-15 -7.06894388e-02 5.88146829e-16 -3.32236039e+00 -4.30988326e-14 -3.82811850e+00] [ 2.08796925e-03 -1.06658293e-15 -1.96457721e-04 -2.65190559e-15 5.74957935e-02 4.07446071e-15 -2.89606649e-02 1.88748189e-14 -3.82811850e+00 8.13953848e-16]]
fluxonium.plot_matrixelements('n_operator', evals_count=16);
fluxonium.plot_matelem_vs_paramvals('n_operator', 'flux', flux_list, select_elems=5);
Spectral data: 0%| | 0/151 [00:00<?, ?it/s]