mindquantum.core.circuit.controlled
- mindquantum.core.circuit.controlled(circuit_fn)[源代码]
在量子线路或量子算子(可以生成量子线路的函数)上添加控制量子比特。
- 参数:
circuit_fn (Union[Circuit, FunctionType, MethodType]) - 量子线路,或可以生成量子线路的函数。
- 返回:
可以生成Circuit的函数。
- 异常:
TypeError - circuit_fn 不是Circuit或无法返回Circuit。
样例:
>>> from mindquantum.algorithm.library import qft >>> from mindquantum.core.circuit import controlled >>> u1 = qft([0, 1]) >>> u2 = controlled(u1) >>> u3 = controlled(qft) >>> u3 = u3(2, [0, 1]) >>> u2(2) ┏━━━┓ ┏━━━━━━━━━┓ q0: ──┨ H ┠─┨ PS(π/2) ┠───────╳─── ┗━┳━┛ ┗━━━━┳━━━━┛ ┃ ┃ ┃ ┏━━━┓ ┃ q1: ────╂────────■──────┨ H ┠─╳─── ┃ ┃ ┗━┳━┛ ┃ ┃ ┃ ┃ ┃ q2: ────■────────■────────■───■─── >>> u3 ┏━━━┓ ┏━━━━━━━━━┓ q0: ──┨ H ┠─┨ PS(π/2) ┠───────╳─── ┗━┳━┛ ┗━━━━┳━━━━┛ ┃ ┃ ┃ ┏━━━┓ ┃ q1: ────╂────────■──────┨ H ┠─╳─── ┃ ┃ ┗━┳━┛ ┃ ┃ ┃ ┃ ┃ q2: ────■────────■────────■───■───