janus.optimize.synthesis.clifford.clifford_decompose_bm 源代码

"""
Circuit synthesis for 2-qubit and 3-qubit Cliffords based on Bravyi & Maslov
decomposition.
"""

from janus.circuit import Circuit as QuantumCircuit
from janus.compat.clifford import Clifford

# Use compat implementation for accelerated synthesis
from janus.compat.synthesis.clifford.clifford_decompose_bm import synth_clifford_bm as _synth_clifford_bm


[文档] def synthesize_clifford_bravyi_maslov(clifford: Clifford) -> QuantumCircuit: """Optimal CX-cost decomposition of a :class:`.Clifford` operator on 2 qubits or 3 qubits into a :class:`.QuantumCircuit` based on the Bravyi-Maslov method [1]. Args: clifford: A Clifford operator. Returns: A circuit implementation of the Clifford. Raises: JanusError: if Clifford is on more than 3 qubits. References: 1. S. Bravyi, D. Maslov, *Hadamard-free circuits expose the structure of the Clifford group*, `arXiv:2003.09412 [quant-ph] <https://arxiv.org/abs/2003.09412>`_ """ return _synth_clifford_bm(clifford)
# Backward compatibility alias synth_clifford_bm = synthesize_clifford_bravyi_maslov