mindquantum.core.gates.RotPauliString

查看源文件
class mindquantum.core.gates.RotPauliString(pauli_string: str, pr)[源代码]

任意泡利串的旋转门。

\[U(\theta)=e^{-i\theta P/2}, P=\otimes_i\sigma_i, \text{where } \sigma \in \{X, Y, Z\}\]
参数:
  • pauli_string (str) - 泡利串。泡利串中的元素只能是 ['i', 'x', 'y', 'z', 'I', 'X', 'Y', 'Z']

  • pr (Union[int, float, str, dict, ParameterResolver]) - 参数化门的参数。

样例:

>>> import numpy as np
>>> from mindquantum.core.gates import RotPauliString
>>> from mindquantum.core.operators import TimeEvolution, QubitOperator
>>> from mindquantum.core.circuit import Circuit
>>> g = RotPauliString('XYZ', 1.0).on([0, 1, 2])
>>> circ1 = Circuit() + g
>>> circ2 = TimeEvolution(QubitOperator('X0 Y1 Z2'), 0.5).circuit
>>> np.allclose(circ1.matrix(), circ2.matrix())
True
diff_matrix(pr=None, about_what=None)[源代码]

返回该参数化量子门的导数矩阵。

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

  • about_what (str) - 关于哪个参数求导数。输入值为str类型的对应参数名。默认值:None

返回:

numpy.ndarray,该量子门的导数矩阵形式。

get_cpp_obj()[源代码]

返回该门的c++对象。

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

返回该参数化量子门的矩阵。

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

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

返回:

numpy.ndarray,该量子门的矩阵形式。