sandialabs / pyGSTi

A python implementation of Gate Set Tomography
http://www.pygsti.info
Apache License 2.0
133 stars 56 forks source link

Serialization Issue w/ Processor Spec Nonstd_Instruments #467

Open pcwysoc opened 1 month ago

pcwysoc commented 1 month ago

Describe the bug An issue with the serialization of 'nonstd_instruments' in processerspec.py that causes ProtocolData with experiment designs generated from a processor spec to not write.

To Reproduce Steps to reproduce the behavior:

  1. Create a processor spec
  2. Create a target model from the processor spec
  3. Add the quantum instrument to the target model target_model[('Iz', 0)] = pygsti.modelmembers.instruments.Instrument({'p0': Q0 'p1': Q1})
  4. Generate an experiment design from the target model
  5. Generate data
  6. Create a ProtocolData & attempt to save:
Screenshot 2024-07-16 at 3 48 13 PM

Expected behavior The serialization should work correctly, allowing me to save ProtocolData with experiment designs generated from a processor spec to not write.

Environment (please complete the following information):

pcwysoc commented 1 month ago

@coreyostrove I sent you over the notebook where I ran into issues over email (with the same name as this issue) because it relates to an active collaboration. I'll update this thread if I get a chance to get a chance to write a stripped down version.