mindquantum.algorithm.compiler.cryy_decompose

查看源文件
mindquantum.algorithm.compiler.cryy_decompose(gate: gates.Ryy)[源代码]

分解一个受控的 Ryy 门。

参数:
  • gate (Ryy) - 有一个控制位的 Ryy 门。

返回:

List[Circuit],可能的分解方式。

样例:

>>> from mindquantum.algorithm.compiler import cryy_decompose
>>> from mindquantum.core.circuit import Circuit
>>> from mindquantum.core.gates import Ryy
>>> cryy = Ryy(2).on([0, 1], [2, 3])
>>> origin_circ = Circuit() + cryy
>>> decomposed_circ = cryy_decompose(cryy)[0]
>>> origin_circ
      ┏━━━━━━━━┓
q0: ──┨        ┠───
      ┃        ┃
      ┃ Ryy(2) ┃
q1: ──┨        ┠───
      ┗━━━━┳━━━┛

q2: ───────■───────


q3: ───────■───────
>>> decomposed_circ
      ┏━━━━━━━━━┓                                                ┏━━━━━━━━━━┓
q0: ──┨ RX(π/2) ┠───────────────■───────────────■────────────────┨ RX(-π/2) ┠───
      ┗━━━━┳━━━━┛               ┃               ┃                ┗━━━━━┳━━━━┛
           ┃      ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━━┓       ┃
q1: ───────╂──────┨ RX(π/2) ┠─┨╺╋╸┠─┨ RZ(2) ┠─┨╺╋╸┠─┨ RX(-π/2) ┠───────╂────────
           ┃      ┗━━━━┳━━━━┛ ┗━┳━┛ ┗━━━┳━━━┛ ┗━┳━┛ ┗━━━━━┳━━━━┛       ┃
           ┃           ┃        ┃       ┃       ┃         ┃            ┃
q2: ───────■───────────■────────■───────■───────■─────────■────────────■────────
           ┃           ┃        ┃       ┃       ┃         ┃            ┃
           ┃           ┃        ┃       ┃       ┃         ┃            ┃
q3: ───────■───────────■────────■───────■───────■─────────■────────────■────────