stanfordLINQS / SQcircuit

Superconducting quantum circuit analyzer
BSD 3-Clause "New" or "Revised" License
43 stars 7 forks source link

SQcircuit giving incorrect parameters for single transmon qubit. #5

Open quantumparticle1994 opened 2 years ago

quantumparticle1994 commented 2 years ago

Hi,

I try to simulate the single transmon qubit in the SQcircuit, but the output frequency and anharmonicity from the SQcircuit don't match the theoretical results. Here is my code.

import SQcircuit as sqcirc import matplotlib.pyplot as plt init_flux=0 C = 51 #fF Ej = 10 #GHz ng = 0.5 ncut = 30

sqcirc.set_unit_cap('fF') sqcirc.set_unit_JJ('GHz')

C1 = sqcirc.Capacitor(value=C)

JJ = sqcirc.Junction(value=Ej) elements = {(0,1): [C1,JJ]}

tmon = sqcirc.Circuit(elements) tmon.set_trunc_nums([ncut]) tmon.set_charge_offset(1,0.3)

n_eig=5 efreqs, evecs = tmon.diag(n_eig=n_eig) efreqs - efreqs[0]

The anharmonicity given by SQcircuit is 476 MHz for the given parameters, but the actual anharmonicity of transmon for these parameters is 379 MHz. And same goes with the qubit frequency.

taha1373 commented 2 years ago

Hi @quantumparticle1994,

Thanks for using SQcircuit and informing us about your issue, you have the same problem discussed in https://github.com/stanfordLINQS/SQcircuit/issues/4. If you upgrade your SQcircuit to version 0.0.13 and above your issue should be solved let me know if you have any further question.

quantumparticle1994 commented 2 years ago

Hi, Even after updating to 0.0.13, it doesn't solve the problem. I am still getting the wrong eigenfrequency and anharmonicity.

taha1373 commented 2 years ago

Ok that's weird! At top of your code you set ng=0.5, but at the bottom of your code you use tmon.set_charge_offset(1,0.3), while you should have wrote tmon.set_charge_offset(1,ng). Can you tell me what eigenfrequency do you expect at ng=0.5. Then I can run the code and find the issue for you.

nlee92 commented 2 years ago

Hi @quantumparticle1994! Thank you for helping us with this issue!

I have a suggestion for addressing this question, though I will defer to the developer @taha1373 regarding the code itself. To summarize, I think the anharmonicity calculated by SQcircuit may be correct for this example.

I find the charging energy of capacitance C = 51 fF to be about EC/h = 379 MHz, as was anticipated for the anharmonicity. As I understand it, "|anharmonicity| = EC" is an approximation from first-order perturbation theory [Koch et. al. 2007 eqn. 2.12 (https://arxiv.org/abs/cond-mat/0703002)], and the accuracy of this approximation improves as the transmon ratio EJ/EC increases. For EJ/h = 10 GHz, EJ/EC is about 26, which is toward the lower end of the transmon regime (EJ/EC > 20) as defined in the reference. It is common in experiments to use EJ/EC between 50 and 100, where sensitivity to gate charge ng is further reduced, and where expressions from perturbation theory tend to be more accurate. For general values of EJ/EC, eqn. 2.2 from the references gives an exact expression for the transmon eigenvalues in terms of Mathieu characteristic values.

I hope this helps!