paddle_quantum.gate.custom
自定义量子门和受控量子门的功能实现。
- class Oracle(oracle, qubits_idx, num_qubits=None, depth=1, gate_info=None)
基类:
paddle_quantum.gate.base.Gate
一个 oracle 门。
- 参数:
oracle (paddle.Tensor) – 要实现的 oracle。
qubits_idx (Union[Iterable[Iterable[int]], Iterable[int], int]) – 作用在的量子比特的编号。
num_qubits (int, optional) – 总的量子比特个数,默认为
None
。depth (int, optional) – 层数,默认为
1
。gate_info (dict, optional) – 量子门的信息,用于信息追溯或者画图。
- class ControlOracle(oracle, qubits_idx, num_qubits=None, depth=1, gate_info=None)
基类:
paddle_quantum.gate.base.Gate
一个受控 oracle 门。
- 参数:
oracle (paddle.Tensor) – 要实现的 oracle。
qubits_idx (Union[Iterable[Iterable[int]], Iterable[int], int]) – 作用在的量子比特的编号。
num_qubits (int, optional) – 总的量子比特个数,默认为
None
。depth (int, optional) – 层数,默认为
1
。gate_info (dict, optional) – 量子门的信息,用于信息追溯或者画图。
- class ParamOracle(generator, param=None, depth=1, num_acted_param=1, param_sharing=False, qubits_idx=None, gate_info=None, num_qubits=None)
基类:
paddle_quantum.gate.base.Gate
一个参数化的 oracle 门。
- 参数:
oracle (Callable[[Tensor],Tensor]) – 用于产生 oracle 的函数。
param (Union[Tensor,float,List[float]]) – 输入参数,默认为
None
i.e. 随机。qubits_idx (Union[Iterable[Iterable[int]], Iterable[int], int]) – 作用在的量子比特的编号。
depth (int, optional) – 层数,默认为
1
。num_acted_param (int, optional) – 单次操作需要的参数数量。
param_sharing (bool) – 所有操作是否共享相同的一组参数。
gate_info (dict, optional) – 量子门的信息,用于信息追溯或者画图。
num_qubits (int) – 量子比特总数,默认为
None