paddle_quantum.channel.common
常用的量子信道的功能实现。
- class BitFlip(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
比特反转信道。
其 Kraus 算符为:
- 参数:
prob (Union[paddle.Tensor, float]) – 发生比特反转的概率,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class PhaseFlip(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
相位反转信道。
其 Kraus 算符为:
- 参数:
prob (Union[paddle.Tensor, float]) – 发生相位反转的概率,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class BitPhaseFlip(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
比特相位反转信道。
其 Kraus 算符为:
- 参数:
prob (Union[paddle.Tensor, float]) – 发生比特相位反转的概率,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class AmplitudeDamping(gamma, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
振幅阻尼信道。
其 Kraus 算符为:
- 参数:
gamma (Union[paddle.Tensor, float]) – 减振概率,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class GeneralizedAmplitudeDamping(gamma, prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
广义振幅阻尼信道。
其 Kraus 算符为:
- 参数:
gamma (Union[paddle.Tensor, float]) – 减振概率,其值应该在
区间内。prob (Union[paddle.Tensor, float]) – 激发概率,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class PhaseDamping(gamma, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
相位阻尼信道。
其 Kraus 算符为:
- 参数:
gamma (Union[paddle.Tensor, float]) – 该信道的参数,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class Depolarizing(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
去极化信道。
其 Kraus 算符为:
- 参数:
prob (Union[paddle.Tensor, float]) – 该信道的参数,其值应该在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
备注
该功能的实现逻辑已更新。 当前版本请参考 M.A.Nielsen and I.L.Chuang 所著 Quantum Computation and Quantum Information 第10版中的 (8.102) 式。 参考文献: Nielsen, M., & Chuang, I. (2010). Quantum Computation and Quantum Information: 10th Anniversary Edition. Cambridge: Cambridge University Press. doi:10.1017/CBO9780511976667
- class GeneralizedDepolarizing(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
广义去极化信道。
其 Kraus 算符为:
- 参数:
prob (Union[paddle.Tensor, float]) – 该信道的参数
,其值应该在 区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 长度为
的作用在的量子比特的编号,默认为'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
- class PauliChannel(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
泡利信道。
- 参数:
prob (Union[paddle.Tensor, Iterable[float]]) – 泡利算符 X、Y、Z 对应的概率,各值均应在
区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
备注
三个输入的概率加起来需要小于等于 1。
- class ResetChannel(prob, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
重置信道。
该信道以 p 的概率将量子态重置为
,并以 q 的概率重置为 。其 Kraus 算符为:- 参数:
prob (Union[paddle.Tensor, Iterable[float]]) – 重置为
和重置为 的概率,各值均应在 区间内。qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
备注
两个输入的概率加起来需要小于等于 1。
- class ThermalRelaxation(const_t, exec_time, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
热弛豫信道。
该信道模拟超导硬件上的 T1 和 T2 混合过程。
- 参数:
const_t (Union[paddle.Tensor, Iterable[float]]) –
和 过程的弛豫时间常数,单位是微秒。exec_time (Union[paddle.Tensor, float]) – 弛豫过程中量子门的执行时间,单位是纳秒。
qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。
备注
时间常数必须满足
,见参考文献 https://arxiv.org/abs/2101.02109。
- class MixedUnitaryChannel(num_unitary, qubits_idx='full', num_qubits=None)
基类:
paddle_quantum.channel.base.Channel
混合酉矩阵信道。
- 参数:
num_unitary (int) – 用于构成信道的酉矩阵数量。
qubits_idx (Union[Iterable[int], int, str], optional) – 作用在的量子比特的编号,默认为
'full'
。num_qubits (int, optional) – 总的量子比特个数,默认为
None
。