paddle_quantum.gate.encoding

量子编码的功能实现。

class BasisEncoding(qubits_idx='full', num_qubits=None)

基类:paddle_quantum.base.Operator

将输入的经典数据编码成量子态的基态编码门。

在基态编码中,输入的经典数据只能包括 0 和 1。如输入数据为 1101,则编码后的量子态为 \(|1101\rangle\)。 这里假设量子态在编码前为全 0 的态,即 \(|00\ldots 0\rangle\)

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

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

class AmplitudeEncoding(qubits_idx='full', num_qubits=None)

基类:paddle_quantum.base.Operator

将输入的经典数据编码成量子态的振幅编码门。

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

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

class AngleEncoding(feature, qubits_idx='full', num_qubits=None, encoding_gate=None)

基类:paddle_quantum.base.Operator

将输入的经典数据编码成量子态的角度编码门。

参数:
  • feature (paddle.Tensor) – 待编码的向量。

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

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

  • encoding_gate (str, optional) – 编码用的量子门,应是 "rx""ry",和 "rz" 中的一种。默认为 None

class IQPEncoding(feature, qubits_idx=None, num_qubits=None, num_repeat=1)

基类:paddle_quantum.base.Operator

将输入的经典数据编码成量子态的 IQP 编码门。

参数:
  • feature (paddle.Tensor) – 待编码的向量。

  • qubits_idx (Iterable[Iterable[int]], optional) – 作用在的量子比特的编号,默认为 None

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

  • num_repeat (int, optional) – 编码层的层数,默认为 1