munich-quantum-toolkit / munich-quantum-toolkit/core
✨ Add support for Pauli-based computation (PBC)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 133
- Forks
- 73
- Avg merge
- 17h 34m
- Merged PRs (30d)
- 261
Description
Problem Statement
When we want to move towards compilation for fault-tolerant QC, it could be beneficial to use the Pauli-based computation (PBC) framework. It seems especially suited in combination with qLDCP codes^1, but also useful for surface codes^2. In PBC, Clifford gates are commuted through the circuit and merged into the measurements, which turn into more complex Pauli Product Measurements. Hence, this gives a trade-off ^1:
PBC thus trades the explicit execution of many Clifford gates for potentially more complex (higher-weight) PPMs and a modified sequence of non-Clifford gates.
Proposed Solution
Support PBC by adding Pauli Product Rotations (PPRs) and Pauli Product Measurements (PPMs), as well as transformations from Clifford + T to such a PBC circuit, possibly through three steps^3:
- Decomposition of (Clifford + T) into Pauli product rotations (PPRs)
- Commutation of Clifford PPRs past other PPRs
- Absorption of Clifford PPRs into terminal measurements
Optional final step:
- Replace the non-Clifford PPRs by a magic state injection together with classically controlled Clifford PPRs that can be absorbed by the PPMs again
This would be the final form considered for this issue. Translating this onto an actual error correction code would be future work.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing the proposed three-step transformation from Clifford + T to PBC, then consult the linked PBC references; done means supporting PPRs and PPMs and the specified transformations, with optional magic-state injection as the final form.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100