{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/causal-flow-preserving-optimisation-of","title":"Causal flow preserving optimisation of quantum circuits in the ZX-calculus","arxiv_id":"2312.02793","date":"2023-12-05","proceeding":null,"authors":["Calum Holker"],"abstract":"Optimising quantum circuits to minimise resource usage is crucial, especially with near-term hardware limited by quantum volume. This paper introduces an optimisation algorithm aiming to minimise non-Clifford gate count and two-qubit gate count by building on ZX-calculus-based strategies. By translating a circuit into a ZX-diagram it can be simplified before being extracted back into a circuit. We assert that simplifications preserve a graph-theoretic property called causal flow. This has the advantage that qubit lines are well defined throughout, permitting a trivial extraction procedure and in turn enabling the calculation of an individual transformation's impact on the resulting circuit. A general procedure for a decision strategy is introduced, inspired by an existing heuristic based method. Both phase teleportation and the neighbour unfusion rule are generalised. In particular, allowing unfusion of multiple neighbours is shown to lead to significant improvements in optimisation. When run on a set of benchmark circuits, the algorithm developed reduces the two-qubit gate count by an average of 19.8%, beating both the previous best ZX-based strategy (14.6%) and non-ZX strategy (18.5%) at the time of publication. This lays a foundation for multiple avenues of improvement. A particularly effective strategy for optimising QFT circuits is also noted, resulting in exactly one two-qubit gate per non-Clifford gate.","url_abs":"https://arxiv.org/abs/2312.02793v2","url_pdf":"https://arxiv.org/pdf/2312.02793v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"causal-flow-preserving-optimisation-of","repo_url":"https://github.com/calumholker/pyzx","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}