mindquantum.core.gates.Rn

查看源文件
class mindquantum.core.gates.Rn(alpha: ParameterResolver, beta: ParameterResolver, gamma: ParameterResolver)[源代码]

Rn 门表示绕布洛赫球中给定轴旋转的量子门。Rn 门的矩阵形式为:

\[\begin{split}\begin{aligned} {\rm Rn}(\alpha, \beta, \gamma) &= e^{-i(\alpha \sigma_x + \beta \sigma_y + \gamma \sigma_z)/2}\\ &= \cos(f/2)I-i\sin(f/2)(\alpha \sigma_x + \beta \sigma_y + \gamma \sigma_z)/f\\ &\text{where } f=\sqrt{\alpha^2 + \beta^2 + \gamma^2} \end{aligned}\end{split}\]
参数:
  • alpha (Union[numbers.Number, dict, ParameterResolver]) - Rn 门的第一个参数。

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

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

样例:

>>> import numpy as np
>>> from mindquantum.core.parameterresolver import ParameterResolver
>>> from mindquantum.core.gates import Rn
>>> theta = ParameterResolver('theta')/np.sqrt(3)
>>> Rn(theta, theta, theta).on(0, 1)
Rn(α=0.5774*theta, β=0.5774*theta, γ=0.5774*theta|0 <-: 1)
property alpha

获取 Rn 门的参数 alpha。

返回:

ParameterResolver,参数 alpha。

property beta

获取 Rn 门的参数 beta。

返回:

ParameterResolver,参数 beta。

property gamma

获取 Rn 门的参数 gamma。

返回:

ParameterResolver,参数 gamma。

get_cpp_obj()[源代码]

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

hermitian()[源代码]

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

样例:

>>> from mindquantum.core.gates import Rn
>>> rn = Rn('a', 'b', 0.5).on(0)
>>> rn.hermitian()
Rn(α=-a, β=-b, γ=-1/2|0)
matrix(pr: ParameterResolver = None, full=False)[源代码]

获取 Rn 门的矩阵形式。

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

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