【发布时间】:2023-04-01 14:33:02
【问题描述】:
我尝试使用 qiskit 实现 Deutsch 算法。以下是代码。
circ = QuantumCircuit(2, 2) # |q_1q_0>
circ.x(0)
circ.h([0,1])
# Oracle
circ.barrier()
circ.x(1)
circ.barrier()
circ.h(0)
circ.measure([0,1], [0,1])
backend_sim = Aer.get_backend('qasm_simulator')
job = execute(circ, backend_sim, shots=1024)
result = job.result()
counts = result.get_counts(circ)
print(counts)
我预计第一个经典位是 0(也就是说,对应于那个 oracle 的函数是一个常量函数)。但是,输出如下。
{'11': 496, '01': 528}
为什么输出暗示函数是平衡的?
【问题讨论】: