mindquantum.algorithm.library.qutrit_symmetric_ansatz

查看源文件
mindquantum.algorithm.library.qutrit_symmetric_ansatz(gate: UnivMathGate, basis: str = 'zyz', with_phase: bool = False)[源代码]

构造一个保持任意qutrit门编码对称性的qubit ansatz。

参考文献: Synthesis of multivalued quantum logic circuits by elementary gatesOptimal synthesis of multivalued quantum circuits

参数:
  • gate (UnivMathGate) - 由qutrit门编码而来的qubit门。

  • basis (str) - 分解的基,可以是 "zyz" 或者 "u3" 中的一个。默认值: "zyz"

  • with_phase (bool) - 是否将全局相位以 GlobalPhase 的形式作用在量子线路上。默认值: False

返回:

Circuit,保持qutrit编码对称性的qubit ansatz。

样例:

>>> from scipy.stats import unitary_group
>>> from mindquantum.core.circuit import Circuit
>>> from mindquantum.core.gates import UnivMathGate
>>> from qudit_mapping import qutrit_symmetric_ansatz, qudit_symmetric_encoding
>>> qutrit_unitary = unitary_group.rvs(3)
>>> qutrit_projector = np.eye(4) - qudit_symmetric_encoding(np.eye(3))
>>> qubit_unitary = qudit_symmetric_encoding(qutrit_unitary) + qutrit_projector
>>> qubit_gate = UnivMathGate('U', qubit_unitary).on([0, 1])
>>> print(Circuit() + qubit_gate)
q0: ──U──

q1: ──U──
>>> print(qutrit_symmetric_ansatz(qubit_gate))
q0: ──●────RY(π/2)────●─────────RZ(U_RZ01_0)────RY(U_RY01_0)────RZ(U_Rz01_0)─────────●────RY(-π/2)────●────X──>>
      │       │       │              │               │               │               │       │        │       >>
q1: ──X───────●───────X────X─────────●───────────────●───────────────●──────────X────X───────●────────X───────>>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
q0: <<──●────X────RZ(U_RZ02_1)────RY(U_RY02_1)────RZ(U_Rz02_1)────X────●────X────●────RY(-π/2)────●──>>
    <<  │              │               │               │               │         │       │        │  >>
q1: <<──X──────────────●───────────────●───────────────●───────────────X─────────X───────●────────X──>>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
q0: <<──RZ(U_RZ12_2)────RY(U_RY12_2)────RZ(U_Rz12_2)────●────RY(π/2)────●──
    <<       │               │               │          │       │       │
q1: <<───────●───────────────●───────────────●──────────X───────●───────X──