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

Spectroscopy #31

Merged
merged 67 commits into from
Jun 2, 2021
Merged

Spectroscopy #31

merged 67 commits into from
Jun 2, 2021

Conversation

eggerdj
Copy link
Contributor

@eggerdj eggerdj commented Apr 30, 2021

Summary

This is a qubit spectroscopy experiment that scans the frequency of a GaussianSquare pulse.

Details and comments

The spectroscopy experiment implements the Spectroscopy experiment and a SpectroscopyAnalysis class. This is done with a pulse schedule with a set_frequency instruction followed by a GaussianSquare pulse encapsulated in a gate. A GaussianSquare pulse was chosen as it allows us to have Square, Gaussian, and GaussianSquare pulses. The circuits that are run are

                   ┌────────────┐ ░ ┌─┐
              q_0: ┤ Spec(freq) ├─░─┤M├
                   └────────────┘ ░ └╥┘
        measure: 1/══════════════════╩═
                                     0

The analysis is based on a fit to a Gaussian function with default values based on the x and y data.

__analysis_class__ = SpectroscopyAnalysis

# Supported units for spectroscopy.
__units__ = {"Hz": 1.0, "kHz": 1.e3, "MHz": 1.e6, "GHz": 1.e9}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's the role of Terra to provide conversion methods between units. It's possibly already somewhere in Terra, and if so, should be used. If not then some day it can be good to move this logic to Terra.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a look in terra and could not find a unit management system.

eggerdj added 8 commits May 6, 2021 06:54
* Improved docstrings.
* Unit is no longer stored and everything is internally converted to Hz.
* Improved docstring.
* Implemented _fit_quality.
* Fixed typing issue.
* Made meas level 1 default.
@eggerdj eggerdj mentioned this pull request May 7, 2021
eggerdj added 4 commits May 10, 2021 11:41
* Changed to a Gaussian fit
* Amended result.
* Added plotting.
* Default meas level is now classified.
@eggerdj eggerdj changed the title [WIP] Spectroscopy Spectroscopy May 11, 2021
Copy link
Collaborator

@nkanazawa1989 nkanazawa1989 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good. However does this belong to the calibration? Perhaps we need to discuss Calibration vs Characterization now.

qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
qiskit_experiments/characterization/spectroscopy.py Outdated Show resolved Hide resolved
@eggerdj eggerdj mentioned this pull request Jun 1, 2021
Merged
@eggerdj eggerdj merged commit 960f639 into qiskit-community:main Jun 2, 2021
@eggerdj eggerdj deleted the spectroscopy branch June 2, 2021 19:08
@coruscating coruscating added this to the Release 0.1 milestone Jun 16, 2021
paco-ri pushed a commit to paco-ri/qiskit-experiments that referenced this pull request Jul 11, 2022
* Qubit spectroscopy experiment which applies a GaussianSquare pulse and scans the frequency to find the resonance of the qubit.
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

Successfully merging this pull request may close these issues.

5 participants