Skip to content

Protocols for coupler calibration#1160

Draft
andrea-pasquale wants to merge 25 commits into
mainfrom
coupler-protocols
Draft

Protocols for coupler calibration#1160
andrea-pasquale wants to merge 25 commits into
mainfrom
coupler-protocols

Conversation

@andrea-pasquale

Copy link
Copy Markdown
Contributor

In this PR I am porting the former chevron_couplers protocol, i.e. a chevron-like pulse sequence where we sweep the amplitude of the flux pulse sent to the coupler while the qubit are interacting. I'm currently testing/debugging with the emulator.

@codecov

codecov Bot commented May 23, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.68421% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.83%. Comparing base (ea5ef46) to head (5302498).
⚠️ Report is 631 commits behind head on main.

Files with missing lines Patch % Lines
src/qibocal/protocols/couplers/readout.py 97.89% 2 Missing ⚠️
...rotocols/two_qubit_interaction/amplitude_tuning.py 98.50% 1 Missing ⚠️
.../two_qubit_interaction/chevron/chevron_couplers.py 97.82% 1 Missing ⚠️
...l/protocols/two_qubit_interaction/chevron/utils.py 92.85% 1 Missing ⚠️
...otocols/two_qubit_interaction/phase_calibration.py 98.36% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1160      +/-   ##
==========================================
+ Coverage   97.81%   97.83%   +0.01%     
==========================================
  Files         131      138       +7     
  Lines       10045    10493     +448     
==========================================
+ Hits         9826    10266     +440     
- Misses        219      227       +8     
Flag Coverage Δ
unittests 97.83% <98.68%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/qibocal/calibration/calibration.py 98.58% <100.00%> (+0.04%) ⬆️
src/qibocal/protocols/__init__.py 100.00% <100.00%> (ø)
src/qibocal/protocols/couplers/__init__.py 100.00% <100.00%> (ø)
src/qibocal/protocols/couplers/spectroscopy.py 100.00% <100.00%> (ø)
...ibocal/protocols/two_qubit_interaction/__init__.py 100.00% <100.00%> (ø)
...rotocols/two_qubit_interaction/chevron/__init__.py 100.00% <100.00%> (ø)
...protocols/two_qubit_interaction/chevron/chevron.py 97.67% <100.00%> (-1.54%) ⬇️
...ls/two_qubit_interaction/chevron/chevron_signal.py 100.00% <100.00%> (ø)
...two_qubit_interaction/chevron/coupler_amplitude.py 100.00% <100.00%> (ø)
...rotocols/two_qubit_interaction/amplitude_tuning.py 98.50% <98.50%> (ø)
... and 4 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@andrea-pasquale

andrea-pasquale commented May 28, 2025

Copy link
Copy Markdown
Contributor Author

The protocol to sweep the amplitude of the flux pulse played on the coupler channel seems to work fine: http://login.qrccluster.com:9000/cclKxN4nSf-NOiN51pxGwg==/
As soon as we add a post-processing to extract the amplitude where the coupling between the qubit is maximum we should be able to review and merge.

@andrea-pasquale andrea-pasquale added calibration couplers PR that deals with couplers labels May 28, 2025
@andrea-pasquale andrea-pasquale linked an issue May 30, 2025 that may be closed by this pull request
@andrea-pasquale andrea-pasquale changed the base branch from main to fix-chevron-iSWAP-fit June 17, 2025 13:36
Base automatically changed from fix-chevron-iSWAP-fit to main June 19, 2025 09:10
@Edoardo-Pedicillo Edoardo-Pedicillo added this to the Qibocal 0.2.3 milestone Jun 19, 2025
Adding protocol for coupler readout
@andrea-pasquale

Copy link
Copy Markdown
Contributor Author

@sorewachigauyo I've added the acquisition for the protocol that you showed in #1197. I'm getting meaningful results on the emulator.
The results from the coupler_amplitude (which corresponds to protocol 1 from #1197) is the following
Screenshot 2025-07-18 at 11 04 56
while with the amplitude_tuning (which corresponds to protocol 2a from #1197) I get this

Screenshot 2025-07-18 at 11 06 45

and finally from the phase_calibration (which corresponds to protocol 2b from #1197) I am getting this
Screenshot 2025-07-18 at 11 07 21

Feel free to test the code on your setup whenever you have time.

@Edoardo-Pedicillo Edoardo-Pedicillo modified the milestones: Qibocal 0.2.3, Qibocal 0.2.4 Jul 21, 2025
@andrea-pasquale

andrea-pasquale commented Aug 26, 2025

Copy link
Copy Markdown
Contributor Author

I've now added a protocol to do also a coupler spectroscopy (similar to what we had in #277). Here are the results with the emulator
Screenshot 2025-08-26 at 16 52 53

(Fitting is still missing)

@andrea-pasquale andrea-pasquale marked this pull request as ready for review August 26, 2025 19:17
@andrea-pasquale andrea-pasquale self-assigned this Oct 16, 2025
@lballerio lballerio marked this pull request as draft April 14, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

calibration couplers PR that deals with couplers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Restore coupler protocols

2 participants