mindquantum.core.circuit.BitFlipAdder
- class mindquantum.core.circuit.BitFlipAdder(flip_rate: float, with_ctrl=True, focus_on: int = None, add_after: bool = True)[源代码]
在量子门前面或者后面添加一个比特翻转信道。
- 参数:
flip_rate (float) - 比特翻转信道的翻转概率。具体请参考
BitFlipChannel
。with_ctrl (bool) - 是否在控制为上添加比特。默认值:
True
。focus_on (int) - 只讲该噪声信道作用在
focus_on
比特上。如果为None
,则作用在量子门的所有比特上。默认值:None
。add_after (bool) - 是否在量子门后面添加信道。如果为
False
,信道将会加在量子门前面。默认值:True
。
样例:
>>> from mindquantum.core.circuit import BitFlipAdder >>> from mindquantum.core.circuit import Circuit >>> circ = Circuit().h(0).x(1, 0) >>> adder1 = BitFlipAdder(0.1, with_ctrl=False) >>> adder1(circ) ┏━━━┓ ╔═════════════╗ q0: ──┨ H ┠─╢ BFC(p=1/10) ╟───■───────────────────── ┗━━━┛ ╚═════════════╝ ┃ ┏━┻━┓ ╔═════════════╗ q1: ────────────────────────┨╺╋╸┠─╢ BFC(p=1/10) ╟─── ┗━━━┛ ╚═════════════╝ >>> adder2 = BitFlipAdder(0.1, with_ctrl=False, focus_on=1) >>> adder2(circ) ┏━━━┓ q0: ──┨ H ┠───■───────────────────── ┗━━━┛ ┃ ┏━┻━┓ ╔═════════════╗ q1: ────────┨╺╋╸┠─╢ BFC(p=1/10) ╟─── ┗━━━┛ ╚═════════════╝