-
Notifications
You must be signed in to change notification settings - Fork 47
Description
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Graphix does not guarantee the runnability and deterministic properties of a pattern when it is passed to a simulator or QPU. It would be beneficial if these fundamanetal properties are ensured during the pattern generation process.
Describe the feature you'd like
A clear and concise description of what you want to happen.
One possible way to do this is to generate a pattern from the underlying graph and flowlike objects(including causal flow, gflow, and pauli flow). Flows can be understood as a feedforward protocol that ensures deterministic property of MBQC.
- Generalize the graph-based pattern generator(
generator.generate_from_graph) with an arbitrary flowlike object(related to Add optional argument to pass gflow ingenerate_from_graph()#120 ) - Generate every pattern through the above generator
- Implement flags in the pattern class such as
pattern.is_deterministicandpattern.is_runnable.
I plan to refactor some methods in the pattern class to clarify which operations preserve the properties. For example, standardize and shift_signals preserve the properties, but add does not. I will implement a property-preserving pattern concatenation method for those who want to directly edit the pattern.
Additional context
Add any other context or screenshots about the feature request here.