mindquantum.core.gates.U3

查看源文件
class mindquantum.core.gates.U3(theta: ParameterResolver, phi: ParameterResolver, lamda: ParameterResolver)[源代码]

U3 门表示单比特的任意幺正门。U3 门的矩阵形式为:

\[\begin{split}{\rm U3}(\theta, \phi, \lambda) =\begin{pmatrix}\cos(\theta/2)&-e^{i\lambda}\sin(\theta/2)\\ e^{i\phi}\sin(\theta/2)&e^{i(\phi+\lambda)}\cos(\theta/2)\end{pmatrix}\end{split}\]

它可以被分解为:

\[{\rm U3}(\theta, \phi, \lambda) = RZ(\phi) RX(-\pi/2) RZ(\theta) RX(\pi/2) RZ(\lambda)\]
参数:
  • theta (Union[numbers.Number, dict, ParameterResolver]) - U3 门的第一个参数。

  • phi (Union[numbers.Number, dict, ParameterResolver]) - U3 门的第二个参数。

  • lamda (Union[numbers.Number, dict, ParameterResolver]) - U3 门的第三个参数。

样例:

>>> from mindquantum.core.gates import U3
>>> U3('theta','phi','lambda').on(0, 1)
U3(θ=theta, φ=phi, λ=lambda|0 <-: 1)
get_cpp_obj()[源代码]

返回量子门的c++对象。

hermitian()[源代码]

获取 U3 门的厄米共轭形式。

样例:

>>> from mindquantum.core.gates import U3
>>> u3 = U3('a', 'b', 0.5).on(0)
>>> u3.hermitian()
U3(θ=-a, φ=-1/2, λ=-b|0)
property lamda

获取 U3 门的参数 lamda。

返回:

ParameterResolver,参数 lamda。

matrix(pr: ParameterResolver = None, full=False)[源代码]

获取 U3 门的矩阵形式。

参数:
  • pr (Union[ParameterResolver, dict]) - U3 门的参数。默认值: None

  • full (bool) - 是否获取完整的矩阵(受控制比特和作用比特影响)。默认值: False

property phi

获取 U3 门的参数 phi。

返回:

ParameterResolver,参数 phi。

property theta

获取 U3 门的参数 theta。

返回:

ParameterResolver,参数 theta。