mindquantum.core.circuit.change_param_name

查看源文件
mindquantum.core.circuit.change_param_name(circuit_fn, name_map)[源代码]

更改含参量子线路或含参量子算子(可以生成含参量子线路的函数)里的参数名称。

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

  • name_map (dict) - 参数名称映射的dict。

返回:

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

异常:
  • TypeError - 如果 name_map 不是映射。

  • TypeError - 如果 name_mapkey 不是字符串。

  • TypeError - 如果 name_mapvalue 不是字符串。

  • TypeError - 如果 circuit_fn 不是Circuit或不能返回Circuit。

样例:

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