mindquantum.core.circuit.decompose_single_term_time_evolution

查看源文件
mindquantum.core.circuit.decompose_single_term_time_evolution(term, para)[源代码]

将时间演化门分解成基本的量子门。

这个函数只适用于只有单个泡利词的哈密顿量。 例如, \(exp^{-it\text{ham}}\)\(\text{ham}\) 只能是一个泡利词,如 \(\text{ham}=X_0 Y_1 Z_2\) 。此时,结果是 ((0, ‘X’), (1, ‘Y’), (2, ‘Z’))。 当演化时间被表示成 \(t=ax+by\) 时,参数将是 {‘x’:a, ‘y’:b}

参数:
  • term (tuple, QubitOperator) - 仅演化量子算子的哈密顿量项。

  • para (Union[dict, numbers.Number]) - 演化算子的参数。

返回:

Circuit,量子线路。

异常:
  • ValueError - 如果 term 里有多个泡利句。

  • TypeError - 如果 term 不是 map

样例:

>>> from mindquantum.core.operators import QubitOperator
>>> from mindquantum.core.circuit import decompose_single_term_time_evolution
>>> ham = QubitOperator('X0 Y1')
>>> circuit = decompose_single_term_time_evolution(ham, {'a':1})
>>> print(circuit)
      ┏━━━┓                               ┏━━━┓
q0: ──┨ H ┠─────────■─────────────────■───┨ H ┠──────────
      ┗━━━┛         ┃                 ┃   ┗━━━┛
      ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━━┓
q1: ──┨ RX(π/2) ┠─┨╺╋╸┠─┨ RZ(2*a) ┠─┨╺╋╸┠─┨ RX(7π/2) ┠───
      ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━━┛