mindquantum.core.circuit.add_prefix

查看源文件
mindquantum.core.circuit.add_prefix(circuit_fn, prefix: str)[源代码]

在含参量子线路或含参量子算子(可以生成含参量子线路的函数)的参数上添加前缀。

参数:
  • circuit_fn (Union[Circuit, FunctionType, MethodType]) - 量子线路,或可以生成量子线路的函数。

  • prefix (str) - 添加到每个参数中的前缀。

返回:

Circuit,或可以生成Circuit的函数。

异常:
  • TypeError - 如果前缀不是字符串。

  • TypeError - circuit_fn 不是Circuit或者未返回Circuit。

样例:

>>> from mindquantum.algorithm.library import qft
>>> from mindquantum.core.circuit import add_prefix
>>> from mindquantum import RX, H, Circuit
>>> u = lambda qubit: Circuit([H.on(0), RX('a').on(qubit)])
>>> u1 = u(0)
>>> u2 = add_prefix(u1, 'ansatz')
>>> u3 = add_prefix(u, 'ansatz')
>>> u3 = u3(0)
>>> u2
      ┏━━━┓ ┏━━━━━━━━━━━━━━┓
q0: ──┨ H ┠─┨ RX(ansatz_a) ┠───
      ┗━━━┛ ┗━━━━━━━━━━━━━━┛
>>> u3
      ┏━━━┓ ┏━━━━━━━━━━━━━━┓
q0: ──┨ H ┠─┨ RX(ansatz_a) ┠───
      ┗━━━┛ ┗━━━━━━━━━━━━━━┛