-
Notifications
You must be signed in to change notification settings - Fork 57
WIP: crosstalk-free GST #641
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
base: develop
Are you sure you want to change the base?
Conversation
…ature-crosstalk-free-gst
…c parent class of CrosstalkFreeExperimentDesign.
…imentdesign functions
…gates with implicit availability
… just raise an more informative error). Add a copy in PermutationOperator.pp_braiding_operators.
…ys compute model violation w.r.t. logl objective function, rather than whatever might have been used as the final objective function.
…s. These are hacky changes. A proper change would be to use try-catch if encountering linalg errors.
…functions only use idles with explicit target qubits, rather than implicit global idles
… explicitmodel.py. Update convert_members_inplace so it can handle failures of conversion when dealing with embedded ops.
… in matrixforwardsim.py.
Biggest changes: New files in pygsti
Heavily modified files in pygsti
Changes to tests
|
try: | ||
_ = self.__getattribute__(k) | ||
except AttributeError: | ||
_ = self.__dict__.pop(k) | ||
self.__dict__['_' + k] = v | ||
_ = self.__getattribute__(k) |
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.
I remember making this change but I don't remember why. We should revert unless we have a good reason to keep as-is.
@@ -185,7 +199,7 @@ def to_label(x): | |||
""" | |||
if isinstance(x, _Label): return x | |||
# # do this manually when desired, as it "boxes" a circuit being inserted | |||
#elif isinstance(x,Circuit): return x.to_circuit_label() | |||
elif isinstance(x,Circuit): return x.to_label() |
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.
Neither Nick nor I remember making this change. The commented-out branch was broken. The uncommenting seems valid based on the to_label member function of Circuit objects.
… to a static method" This reverts commit 8226079.
pygsti/layouts/matrixlayout.py
Outdated
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.
This is a new layout class to work with the new caching method implemented in pygsti.layouts.evaltree
.
pygsti/circuits/circuitlist.py
Outdated
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.
Tensor circuit construction should retain knowledge of original lane structure.
@@ -531,11 +547,13 @@ def _bare_init(self, labels, line_labels, editable, name='', stringrep=None, occ | |||
self._name = name # can be None | |||
#self._times = None # for FUTURE expansion | |||
self.auxinfo = {} # for FUTURE expansion / user metadata | |||
self.saved_auxinfo = {} | |||
self.saved_auxinfo["lanes"] = {tuple(line_labels): self._labels} |
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.
We are saving off the lane structure here so that it can be used in the future if the error models are cross-talk free.
TODO: Add description.