Conversation
|
@nabe98 Could you add a demo in |
Reason: Sync with latest updates from mf
|
@masato-fuk As for the tests, there are no problems with the current ones, but in order to fully cover all the conditional branches implemented in |
masa10-f
left a comment
There was a problem hiding this comment.
Please check my comments
_update_node_measurement seems not to be used.
|
@nabe98 |
|
@masato-fuk
|
There was a problem hiding this comment.
Pull Request Overview
This PR implements the "Non-Clifford Removal" feature by adding methods for converting ZXGraphState forms, removing specific Clifford nodes, and merging YZ nodes based on recent theoretical results. Key changes include:
- Refactoring local Clifford removal logic and measurement update routines in ZXGraphState.
- Updating and expanding tests related to local complementation, pivot operations, and measurement basis updates.
- Adding a new function in random_objects and a demo in examples to showcase the graph simplification process.
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_euler.py | Updated test cases for local complementation and pivot functions. |
| graphix_zx/zxgraphstate.py | Refactored and extended Clifford node removal and merging logic. |
| graphix_zx/random_objects.py | Added new function to generate random MBQC circuits. |
| graphix_zx/graphstate.py | Added properties to expose inner-to-node mappings. |
| examples/zxgraph_simplification.py | Provided a demo example for ZX-diagram simplification. |
Implements non-Clifford removal method.
examples/measurement_actionbased impl. intoLocalCliffordbased impl.Ref.
[1] M. Backens et al., Quantum 5, 421 (2021)
closes #8