随机基准¶
简介¶
随机基准测试(RB)是使用随机化方法对量子门进行基准测试。由于完整的过程层析成像对于大型系统是不可行的,因此越来越关注可扩展方法, 以部分表征影响量子系统的噪声。在[1]中提出了一种可扩展的、鲁棒的算法(n个量子位组成的系统), 使用随机技术通过单个参数对整个Clifford门进行基准测试的鲁棒算法。
接口说明¶
single_qubit_rb
的输入参数分别噪声虚拟机或者量子云机器,待测量的量子比特,随机线路clifford门集的不同数量组合、随机线路的数量、测量次数、验证基本逻辑门(默认无),输出为std::map
数据, 关键值为clifford门集数量,数值对应符合期望概率的大小。
double_qubit_rb
的输入参数分别噪声虚拟机或者量子云机器,待测量的量子比特0,待测量的量子比特1,随机线路clifford门集的不同数量组合、随机线路的数量、测量次数、验证基本逻辑门(默认无)输出为std::map
数据, 关键值为clifford门集数量,数值对应符合期望概率的大小。
实例¶
from pyqpanda import *
if __name__=="__main__":
# 构建噪声虚拟机,调整噪声模拟真实芯片
qvm = NoiseQVM()
qvm.init_qvm()
qvm.set_noise_model(NoiseModel.DEPOLARIZING_KRAUS_OPERATOR, GateType.CZ_GATE, 0.005)
qvm.set_noise_model(NoiseModel.DEPOLARIZING_KRAUS_OPERATOR, GateType.PAULI_Y_GATE, 0.005)
qv = qvm.qAlloc_many(4)
# 同样可以申请云计算机器(采用真实芯片)
# qvm = QCloud()
# qvm.init_qvm("898D47CF515A48CEAA9F2326394B85C6")
# 设置随机线路中clifford门集数量
range = [ 5,10,15 ]
# 测量单比特随机基准
res = single_qubit_rb(qvm, qv[0], range, 10, 1000)
# 同样可以测量两比特随机基准
#res = double_qubit_rb(qvm, qv[0], qv[1], range, 10, 1000)
# 对应的数值随噪声影响,噪声数值越大,所得结果越小,且随clifford门集数量增多,结果数值越小。
print(res)
qvm.finalize()
运行结果:
{5: 0.9996, 10: 0.9999, 15: 0.9993000000000001}