paddle_quantum.ansatz.layer
量子电路模板的功能实现。
- class Layer
基类:
paddle_quantum.ansatz.container.Sequential
量子电路层。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号。
num_qubits (int) – 量子比特的总数。
depth (int) – 电路层的数量,默认为
1
。
备注
一个 Circuit 实例需要拓展为一个 Layer 实例以应用于电路中。
- property gate_history
量子门的插入信息。
- 返回:
量子门的插入历史。
- 返回类型:
List[Dict[str, Union[str, List[int], paddle.Tensor]]]
- class SuperpositionLayer
基类:
paddle_quantum.ansatz.layer.Layer
由 Hadamard 门组成的电路层。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class WeakSuperpositionLayer
基类:
paddle_quantum.ansatz.layer.Layer
由旋转角为 \(\pi/4\) 的 Ry 门组成的电路层。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class LinearEntangledLayer
基类:
paddle_quantum.ansatz.layer.Layer
由 Ry 门, Rz 门,和 CNOT 门组成的线性纠缠电路层。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class RealEntangledLayer
基类:
paddle_quantum.ansatz.layer.Layer
由 Ry 门和 CNOT 门组成的强纠缠电路层。
备注
本电路层的数学表示是一个实值的酉矩阵。此电路层来源于论文 https://arxiv.org/pdf/1905.10876.pdf。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class ComplexEntangledLayer
基类:
paddle_quantum.ansatz.layer.Layer
由单量子比特旋转门和 CNOT 门组成的强纠缠电路层。
备注
本电路层的数学表示是一个复值的酉矩阵。此电路层来源于论文 https://arxiv.org/abs/1804.00633。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class RealBlockLayer
基类:
paddle_quantum.ansatz.layer.Layer
由 Ry 门和 CNOT 门组成的弱纠缠电路层。
备注
本电路层的数学表示是一个实值的酉矩阵。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class ComplexBlockLayer
基类:
paddle_quantum.ansatz.layer.Layer
由单量子比特旋转门和 CNOT 门组成的弱纠缠电路层。
备注
本电路层的数学表示是一个复值的酉矩阵。
- 参数:
qubits_idx (Union[Iterable[int], str]) – 作用的量子比特的编号,默认为
None
,即作用在所有量子比特上。num_qubits (int) – 量子比特的总数,默认为
None
。depth (int) – 电路层的深度,默认为
1
。
- class QAOALayer
基类:
paddle_quantum.ansatz.layer.Layer
QAOA 驱动层。
备注
仅支持MAXCUT问题。
- 参数:
edges (Iterable) – 图的边。
nodes (Iterable) – 图的节点。
depth (int) – 层数,默认为
1
。
- class QAOALayerWeighted
基类:
paddle_quantum.ansatz.layer.Layer
带权重的 QAOA 驱动层。
- 参数:
edges (Dict[Tuple[int, int], float]) – 带权重的图的边。
nodes (Dict[int, float]) – 带权重的图的节点。
depth (int) – 层数,默认为
1
。