Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
feature: Introduce Validating Emulators with Noise Models to the SDK #1017
base: main
Are you sure you want to change the base?
feature: Introduce Validating Emulators with Noise Models to the SDK #1017
Changes from 97 commits
ea85675
28ec84e
f41c52b
fee7888
6f216ab
4e909e5
e3e4593
eda10b7
096aae7
0483fb9
a801ad4
36eff02
a328916
94b4226
1d37b0a
52e0465
467c27c
5dca87d
4c92658
88c9530
1ff8cfa
3355759
edef55d
14d09e8
c229adc
362ef45
74fecd0
28e79bc
dc4a9cf
56e730e
cf0af85
d802eaf
b14cf12
d648b87
0ecd0fa
bc19df5
7c1ac20
ad202d7
50c53cd
10a1dee
49809ba
a3f8459
4c8039b
d4bd18c
d9c9ede
5fc4437
e2c4b55
695c415
f1de87a
8c1b3ec
d38432b
a4906d9
39bbfaa
dcc061e
4b207ee
80f94d0
7268799
b236055
a55edb2
e39941d
9416ffb
ac49677
7b3ebf3
b5828ad
6b0ad92
ece64a4
7caf75e
19b78ab
51296d9
532451c
e254410
ae3a0e3
8756960
82d24e3
c6e60f1
5bec8d4
40bf179
3e1b47c
3f5094e
66703d7
ac070e2
c37bac4
545c8ce
afbb96c
934b0ae
b787222
8080de7
6cd4ffc
1e16ba1
87d342b
fdfa8c0
20c59a2
073fb4e
3c9fd67
0601c63
c5b9fc3
34b94ae
70881c6
b698648
e1cb307
3b500a3
7d7279e
8c63da6
df11f66
a79e07d
96e917a
f30379c
9bddfbc
4626332
e3ca8a5
baccbb1
371fc8f
5aaa69c
6f04be3
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the behavior when shots is None, is it just shots=0 and we return the final density matrix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The arguments and results of Emulator.emulate() follows that of
LocalSimulator.run
; if no result types are provided (and if shots=0),emulate()
raises an exception (ValueError: No result types specified for circuit and shots=0. See braket.circuits.result_types
) just as the LocalSimulator would.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add a comment explaining when this if statement will be triggered, i.e., when we will not have a supported gate between two qubits despite there is an edge connecting them in the graph?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a comment regarding this! This check is in case there is an edge between qubits in their connectivity graph, but the QHP has not provided calibration data about the gates that can be applied to the qubit-pair; the per-edge/per-two-qubit-gate calibration data is used to determine what gates can be applied to a qubit-pair.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add a comment explaining the motivation to add the reversed edges into the connectivity graph?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added! To note the reason here: because Rigetti/IQM have undirected topologies but their topology_graph is directed (and does not include reverse edges), we have to manually add reverse edges so that during validation, a circuit is not marked as invalid for using using two-qubit gates in a direction not provided explicitly by the QHP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to add the reversed edges for Ionq, given that we have done that for the rigetti and iqm devices above?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The connectivity_graph for IonQ actually already has reverse edges as it's created using
nx.complete_graph
which includes edges in both directions!