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
。