munich-quantum-toolkit / munich-quantum-toolkit/core
✨ Integrate Pauli twirling into target compilation
@simon1hofmann is already working on this.
Since Sep 17, 2026.
- Dominant language
- C++
- Stars
- 133
- Forks
- 73
- Avg merge
- 17h 34m
- Merged PRs (30d)
- 261
Description
Problem Statement
Pull request #2224 adds Pauli twirling as an opt-in raw-QCO pass. Target
compilation owns a fixed sequence that includes two-qubit fusion, mapping,
native synthesis, and target-conformance verification, while custom QCO
pipelines cannot currently be combined with a compiler target.
Consequently, the pass has no target-aware placement:
- Running it before target compilation allows later fusion or synthesis to
absorb inserted Pauli gates or introduce additional eligible two-qubit gates. - Running it after target compilation may introduce gates outside the target's
native gate set after conformance has already been verified.
This prevents callers from enabling Pauli twirling as part of the regular
target-compilation flow.
Follow-up to the review of
#2224.
Proposed Solution
Provide an explicit target-compilation option and a target-aware pipeline
placement for Pauli twirling. The resulting flow should:
- Expose the seed through the compiler APIs and command-line interface.
- Twirl eligible final two-qubit gates without later fusion removing the
intended Pauli boundaries. - Lower inserted single-qubit Pauli gates as required by the target and perform
target-conformance verification afterward. - Remain reproducible for a fixed seed.
- Test pipeline ordering, reproducibility, and final target conformance.
The implementation may require a target-aware pipeline hook or separating the
relevant native-synthesis stages; choosing that structure is part of this
issue.
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.
Assessment
This issue has not been assessed yet.