✨ Add native gate synthesis MLIR pass and decomposition stack#1665
✨ Add native gate synthesis MLIR pass and decomposition stack#1665simon1hofmann wants to merge 125 commits into
Conversation
…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.
…xamples and execution details.
…dual global phases.
… synthesis utilities
… clarifying examples and improving readability.
…d results in native synthesis tests.
…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.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Cpp-Linter Report
|
…oducing canonical controlled gates
Introduce NativeProfileSpec for parsing native gate menus and driving two-qubit Weyl synthesis, extend Euler decomposition with an R-basis for IQM-style menus, and add isEquivalentUpToGlobalPhase for unitary checks. Assisted-by: Claude Sonnet 4.6 via Cursor Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: simon1hofmann <119581649+simon1hofmann@users.noreply.github.com>
…ted code to use NativeGateset instead
Description
Introduces a
native-gate-synthesistransform 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>onmqt-cc(empty menu = no-op), aligned with pass options documented inPasses.td(native-gates,score-weight-twoq,score-weight-oneq,score-weight-depth).Fixes #(issue)
Checklist
If PR contains AI-assisted content:
Assisted-by: [Model Name] via [Tool Name]footer.