munich-quantum-toolkit / munich-quantum-toolkit/core

✨ Add support for Pauli-based computation (PBC)

Open
#1,685 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature MLIR
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:

  1. Decomposition of (Clifford + T) into Pauli product rotations (PPRs)
  2. Commutation of Clifford PPRs past other PPRs
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.