paddle_quantum.gate.single_qubit_gate

单量子比特门的类的功能实现。

class H(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特 Hadamard 门。

其矩阵形式为:

H=12[1111]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class S(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特 S 门。

其矩阵形式为:

S=[100i]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class Sdg(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特:math: S^dagger(逆S)门。

其矩阵形式为:

S=[100i]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class T(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特 T 门。

其矩阵形式为:

T=[100eiπ4]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class Tdg(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特:math: T^dagger(逆T)门。

其矩阵形式为:

T=[100eiπ4]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class X(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特 X 门。

其矩阵形式为:

X=[0110]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class Y(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特 Y 门。

其矩阵形式为:

Y=[0ii0]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class Z(qubits_idx='full', num_qubits=None, depth=1)

基类:paddle_quantum.gate.base.Gate

单量子比特 Z 门。

其矩阵形式为:

Z=[1001]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

class P(qubits_idx='full', num_qubits=None, depth=1, param=None, param_sharing=False)

基类:paddle_quantum.gate.base.ParamGate

单量子比特 P 门。

其矩阵形式为:

P=[100eiθ]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

  • param (Union[paddle.Tensor, float], optional) – 量子门参数,默认为 None

  • param_sharing (bool, optional) – 同一层中的量子门是否共享参数,默认为 False

抛出:

ValueErrorparam 须为 paddle.Tensorfloat

class RX(qubits_idx='full', num_qubits=None, depth=1, param=None, param_sharing=False)

基类:paddle_quantum.gate.base.ParamGate

关于 x 轴的单量子比特旋转门。

其矩阵形式为:

RX=[cosθ2isinθ2isinθ2cosθ2]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

  • param (Union[paddle.Tensor, float], optional) – 量子门参数,默认为 None

  • param_sharing (bool, optional) – 同一层中的量子门是否共享参数,默认为 False

抛出:

ValueErrorparam 须为 paddle.Tensorfloat

class RY(qubits_idx='full', num_qubits=None, depth=1, param=None, param_sharing=False)

基类:paddle_quantum.gate.base.ParamGate

关于 y 轴的单量子比特旋转门。

其矩阵形式为:

RY=[cosθ2sinθ2sinθ2cosθ2]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

  • param (Union[paddle.Tensor, float], optional) – 量子门参数,默认为 None

  • param_sharing (bool, optional) – 同一层中的量子门是否共享参数,默认为 False

抛出:

ValueErrorparam 须为 paddle.Tensorfloat

class RZ(qubits_idx='full', num_qubits=None, depth=1, param=None, param_sharing=False)

基类:paddle_quantum.gate.base.ParamGate

关于 z 轴的单量子比特旋转门。

其矩阵形式为:

RZ=[eiθ200eiθ2]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

  • param (Union[paddle.Tensor, float], optional) – 量子门参数,默认为 None

  • param_sharing (bool, optional) – 同一层中的量子门是否共享参数,默认为 False

抛出:

ValueErrorparam 须为 paddle.Tensorfloat

class U3(qubits_idx='full', num_qubits=None, depth=1, param=None, param_sharing=False)

基类:paddle_quantum.gate.base.ParamGate

单量子比特旋转门。

其矩阵形式为:

U3(θ,ϕ,λ)=[cosθ2eiλsinθ2eiϕsinθ2ei(ϕ+λ)cosθ2]
参数:
  • qubits_idx (Union[Iterable, int, str], optional) – 作用在的量子比特的编号,默认为 'full'

  • num_qubits (int, optional) – 总的量子比特个数,默认为 None

  • depth (int, optional) – 层数,默认为 1

  • param (Union[paddle.Tensor, float], optional) – 量子门参数,默认为 None

  • param_sharing (bool, optional) – 同一层中的量子门是否共享参数,默认为 False

抛出:

ValueErrorparam 须为 paddle.Tensorfloat