Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug report] Symmetric TunableTransmon Spectrum Doesn't hit 0 at half $\Phi_0$ #142

Closed
2 tasks done
QuantumWitness opened this issue Jul 1, 2022 · 3 comments
Closed
2 tasks done
Assignees

Comments

@QuantumWitness
Copy link

QuantumWitness commented Jul 1, 2022

Documentation check

If the bug manifests in unexpected behavior (as opposed to a crash), confirm that you have consulted the
API documentation

  • I have checked the API documentation.
  • I could not locate relevant information in the documentation or information is missing.

Describe the bug

The energy spectrum of the tunable transom with 0 asymmetry should reach a minimum of ~0 at $\frac{\Phi_0}{2}$. It does not, which is demonstrated in the spectrum plot from the Transmon example notebook:
image

here it is zoomed in:
image

Expected behavior

Expected symmetric tunable transom energy spectrum to go to 0(ish) at $\frac{\Phi_0}{2}$.

To Reproduce

import scqubits as sc
import matplotlib.pyplot as plt

EJmax = 24
EC = 0.200
d = 0
flux = 0
ng = 0
ncut = 30

tmon = sc.TunableTransmon(EJmax, EC, d, flux, ng, ncut)

flux_array = np.linspace(-0.48,-.52,101)

fig, ax=tmon.plot_evals_vs_paramvals('flux', flux_array, 
                             evals_count=5, subtract_ground=True)

OS and version used (please complete the following information):

  • OS: macOS 12.1
  • scqubits version: 3.0.0
  • Python version: 3.8
@jkochNU
Copy link
Member

jkochNU commented Jul 1, 2022

For vanishing asymmetry d=0 and half-integer flux, we are looking at the deep charging regime with effectively vanishing Josephson energy. At zero offset charge ng=0 the ground state should be non-degenerate, and the first and second excited state be degenerate. This is the case in the plot submitted.
The situation of degenerate ground state would require ng=0.5:

image

Please confirm; perhaps I am missing something.

@QuantumWitness
Copy link
Author

Jens, you are, of course, entirely correct. The bug appears to be in my understanding of the transmon.

I'll describe the problems here so you can just point people to this issue if it ever comes up again.

  1. I expected the first excited state to have energy ~$E_{c}$ as the Josephson energy vanished, which is much smaller than what scqubits actually shows. I understand now that this is inappropriate, because the energy eigenvalues described in the 2007 paper are calculated in the $E_j >> E_c$ regime, according to my understanding. In the 'deep charging' regime, I believe I should have referred to the Cooper Pair Box Eigen energies, which are given by Eq 5 from this paper. $$ E_\pm = \frac{1}{2}\sqrt{16E_c^2(1-2n_g)^2+E_J^2}$$
    This returns a energy difference between ground and first excited state of ~$4E_c$ which is reasonably close to what scqubits returns when ng=0.

  2. When I tried to check my intuition, I built a split transmon in SQcircuit package and received a degenerate ground and excited state at what I thought was ng=0 and $\frac{\Phi_0}{2}$. I now believe this is an offset bug, or a weird design choice and will go inquire over at their GitHub repo.

Thanks for your patience, I appreciate it.

@jkochNU
Copy link
Member

jkochNU commented Jul 2, 2022

@QuantumWitness No worries! I'm glad you posted this. There's always a chance that there are bugs, and having people file issues is what's needed to improve and make needed changes. (That goes for bugs just as it goes for new-feature suggestions.)

4Ec is the exact value expected at half-integer flux, d=0, and ng=0. Here's evidence that this is indeed what we are getting:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants