janus.decompose#
量子门分解模块。
分解函数#
decompose_one_qubit#
decompose_two_qubit_gate#
- janus.decompose.decompose_two_qubit_gate(unitary, basis_gate='cx', use_dag=False, atol=1e-12)[源代码]#
将任意两量子比特酉矩阵分解为指定基门的电路。
- 参数:
unitary (np.ndarray or Gate): 要分解的两量子比特酉矩阵或Gate对象 basis_gate (str): 分解的基门,可以是 'cx', 'cz', 'swap', 'cr' (CRZ) 或 'rxx' use_dag (bool): 如果为True,返回DAGCircuit,否则返回Circuit atol (float): 容差
- 返回:
Circuit or DAGCircuit: 分解后的电路
decompose_multi_control_toffoli#
decompose_controlled_gate#
decompose_kak#
convert_circuit_to_instruction_set#
分解器类#
OneQubitEulerDecomposer#
异常#
使用示例#
单比特门分解#
from janus.decompose import decompose_one_qubit
import numpy as np
# 分解任意单比特酉矩阵
U = np.array([[1, 0], [0, 1j]])
gates = decompose_one_qubit(U)
两比特门分解#
from janus.decompose import decompose_two_qubit_gate
gates = decompose_two_qubit_gate(U)
KAK 分解#
from janus.decompose import decompose_kak
result = decompose_kak(U)