mindquantum.algorithm.compiler.crxx_decompose

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

分解一个受控的 Rxx 门。

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

返回:

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

样例:

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

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


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