mindquantum.core.circuit.QubitNumberConstrain

查看源文件
class mindquantum.core.circuit.QubitNumberConstrain(n_qubits: int, with_ctrl: bool = True, add_after: bool = True)[源代码]

只将噪声信道作用在比特数为 n_qubits 的量子门上。

参数:
  • n_qubits (int) - 量子门的比特数目。

  • with_ctrl (bool) - 控制比特是否算在总比特数目之内。默认值: True

  • add_after (bool) - 在量子门前面或者后面添加量子信道。默认值: True

样例:

>>> from mindquantum.core.circuit import QubitNumberConstrain, Circuit, BitFlipAdder, MixerAdder
>>> circ = Circuit().h(0).x(1, 0)
>>> circ
      ┏━━━┓
q0: ──┨ H ┠───■─────
      ┗━━━┛   ┃
            ┏━┻━┓
q1: ────────┨╺╋╸┠───
            ┗━━━┛
>>> adder = MixerAdder([
...     QubitNumberConstrain(2),
...     BitFlipAdder(0.1)
... ])
>>> adder(circ)
      ┏━━━┓       ╔═════════════╗
q0: ──┨ H ┠───■───╢ BFC(p=1/10) ╟───
      ┗━━━┛   ┃   ╚═════════════╝
            ┏━┻━┓ ╔═════════════╗
q1: ────────┨╺╋╸┠─╢ BFC(p=1/10) ╟───
            ┗━━━┛ ╚═════════════╝