mindquantum.core.operators.TimeEvolution
- class mindquantum.core.operators.TimeEvolution(ops: QubitOperator, time=None)[源代码]
可以生成对应线路的时间演化算子。
时间演化算子将执行以下演化:
\[\left|\varphi(t)\right> = e^{-iHt}\left|\varphi(0)\right>\]说明
哈密顿量应该是参数化或非参数化 QubitOperator。 如果 QubitOperator 有多项,则将使用一阶Trotter分解。
- 参数:
ops (QubitOperator) - 量子算子哈密顿量,可以参数化,也可以非参数化。
time (Union[numbers.Number, dict, ParameterResolver]) - 演化时间,可以是数字或参数解析器。如果是
None
,时间将设置为1。默认值:None
。
样例:
>>> from mindquantum.core.operators import TimeEvolution, QubitOperator >>> q1 = QubitOperator('Z0 Y1', 'a') >>> q2 = QubitOperator('X0 Z1', 'b') >>> ops1 = q1 + q2 >>> ops2 = q2 + q1 >>> TimeEvolution(ops1).circuit ┏━━━┓ ┏━━━┓ q0: ────────────────■─────────────────■───┨ H ┠──────────■─────────────────■───┨ H ┠─── ┃ ┃ ┗━━━┛ ┃ ┃ ┗━━━┛ ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━┓ ┏━┻━┓ q1: ──┨ RX(π/2) ┠─┨╺╋╸┠─┨ RZ(2*a) ┠─┨╺╋╸┠─┨ RX(7π/2) ┠─┨╺╋╸┠─┨ RZ(2*b) ┠─┨╺╋╸┠───────── ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━┛ ┗━━━┛ >>> TimeEvolution(ops2).circuit ┏━━━┓ ┏━━━┓ q0: ──┨ H ┠───■─────────────────■───┨ H ┠─────────■─────────────────■────────────────── ┗━━━┛ ┃ ┃ ┗━━━┛ ┃ ┃ ┏━┻━┓ ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━┓ ┏━┻━┓ ┏━━━━━━━━━━┓ q1: ────────┨╺╋╸┠─┨ RZ(2*b) ┠─┨╺╋╸┠─┨ RX(π/2) ┠─┨╺╋╸┠─┨ RZ(2*a) ┠─┨╺╋╸┠─┨ RX(7π/2) ┠─── ┗━━━┛ ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━┛ ┗━━━┛ ┗━━━━━━━━━━┛
- property circuit
返回时间演化算符的一阶Trotter分解线路。