mindquantum.core.circuit.QubitIDConstrain
- class mindquantum.core.circuit.QubitIDConstrain(qubit_ids: Union[int, List[int]], add_after: bool = True)[源代码]
只将噪声信道作用在给定比特序号的量子门上。
- 参数:
qubit_ids (Union[int, List[int]]) - 想要选择的比特序号的列表。
add_after (bool) - 在量子门前面或者后面添加量子信道。默认值:
True
。
样例:
>>> from mindquantum.core.circuit import MixerAdder, BitFlipAdder, QubitIDConstrain, Circuit >>> circ = Circuit().h(0).h(1).h(2).x(1, 0).x(2, 1) >>> circ ┏━━━┓ q0: ──┨ H ┠───■─────────── ┗━━━┛ ┃ ┏━━━┓ ┏━┻━┓ q1: ──┨ H ┠─┨╺╋╸┠───■───── ┗━━━┛ ┗━━━┛ ┃ ┏━━━┓ ┏━┻━┓ q2: ──┨ H ┠───────┨╺╋╸┠─── ┗━━━┛ ┗━━━┛ >>> adder = MixerAdder([ ... QubitIDConstrain([0, 1]), ... BitFlipAdder(0.1), ... ]) >>> adder(circ) ┏━━━┓ ╔═════════════╗ ╔═════════════╗ q0: ──┨ H ┠─╢ BFC(p=1/10) ╟───■───╢ BFC(p=1/10) ╟───────── ┗━━━┛ ╚═════════════╝ ┃ ╚═════════════╝ ┏━━━┓ ╔═════════════╗ ┏━┻━┓ ╔═════════════╗ q1: ──┨ H ┠─╢ BFC(p=1/10) ╟─┨╺╋╸┠─╢ BFC(p=1/10) ╟───■───── ┗━━━┛ ╚═════════════╝ ┗━━━┛ ╚═════════════╝ ┃ ┏━━━┓ ┏━┻━┓ q2: ──┨ H ┠───────────────────────────────────────┨╺╋╸┠─── ┗━━━┛ ┗━━━┛