Introduce `AbstractObservable` that represents the location of measurements that should be included in a observable.
Relates to #271.
I'm no sure whether the AbstractObservable representation is convenient for people working on circuits generation. But in principle, this simple representation should include all the information to derive a scalable observable that consists of the measurements.
AbstractObservable has two attributes:
top_lines: frozenset[Cube | Pipe]: the measurements along a line at the top of these blocks should be included in the observable.bottom_regions: frozenset[Pipe]: the stabilizer measurements within a region at the bottom of these block should be included in the observable.
I did not explicitly include the measurement basis or line direction here, because they could be inferred easily from the block type.
Any opinions?
Check out this pull request on ![]()
See visual diffs & provide feedback on Jupyter Notebooks.
Powered by ReviewNB
Thank you for the review! I'll keep this PR open for a while to see if anyone who wants to work on the circuit generation part has questions about this representation. Enjoy your holidays!
I will be taking a two-week vacation to go traveling. During this period, I will keep this PR open.
Hi Adrien @nelimee, do you need to review this PR again before I merge it?
Hi Adrien @nelimee, do you need to review this PR again before I merge it?
I will do a quick check again and tell you in less than 30 minutes :)