Skip to content

✨ Add native gate synthesis MLIR pass and decomposition stack#1665

Draft
simon1hofmann wants to merge 23 commits intomainfrom
native_gate_synthesis
Draft

✨ Add native gate synthesis MLIR pass and decomposition stack#1665
simon1hofmann wants to merge 23 commits intomainfrom
native_gate_synthesis

Conversation

@simon1hofmann
Copy link
Copy Markdown
Contributor

Description

Introduces a native-gate-synthesis transform on QCO modules that lowers arbitrary supported unitaries to a comma-separated native gate menu, with scoring over two-qubit count, single-qubit count, and local depth.

User-visible behavior
--native-gates=<menu> on mqt-cc (empty menu = no-op), aligned with pass options documented in Passes.td (native-gates, score-weight-twoq, score-weight-oneq, score-weight-depth).

Fixes #(issue)

Checklist

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

If PR contains AI-assisted content:

  • I have disclosed the use of AI tools in the PR description as per our AI Usage Guidelines.
  • AI-assisted commits include an Assisted-by: [Model Name] via [Tool Name] footer.
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

simon1hofmann and others added 13 commits April 22, 2026 16:04
…use `std::exp` for complex exponentiation instead of `std::polar`.
… basis decomposer, Euler decomposition, and associated helper functions. This update introduces new headers and source files for managing gate sequences, unitary matrices, and decomposition strategies, enhancing the framework's capabilities for quantum circuit transformations.

Co-authored-by: Tamino Bauknecht <dev@tb6.eu>
… and additional test cases for Euler and Weyl decompositions.
…, including new utility functions and validation for gate sequences.
@simon1hofmann simon1hofmann self-assigned this Apr 24, 2026
@simon1hofmann simon1hofmann added enhancement Improvement of existing feature MLIR Anything related to MLIR labels Apr 24, 2026
@simon1hofmann simon1hofmann added this to the MLIR Support milestone Apr 24, 2026
… clarifying examples and improving readability.
…re both output and input qubits match correctly.
…pointers and ensure operand count validation for RZ, RX, RY, U, P, and R operations in native synthesis tests.
…ubit outputs and inputs, ensuring correct operation merging in XXMinusYY and XXPlusYY patterns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improvement of existing feature MLIR Anything related to MLIR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant