ฉันสงสัยว่ามีวิธีการเขียนโปรแกรมที่มีวงจรควอนตัมหลายตัวโดยไม่ต้องลงทะเบียนเริ่มต้นใหม่ที่สำหรับแต่ละวงจร
โดยเฉพาะฉันต้องการเรียกใช้วงจรควอนตัมที่สองหลังจากใช้วงจรแรกดังตัวอย่างนี้:
qp = QuantumProgram()
qr = qp.create_quantum_register('qr',2)
cr = qp.create_classical_register('cr',2)
qc1 = qp.create_circuit('B1',[qr],[cr])
qc1.x(qr)
qc1.measure(qr[0], cr[0])
qc1.measure(qr[1], cr[1])
qc2 = qp.create_circuit('B2', [qr], [cr])
qc2.x(qr)
qc2.measure(qr[0], cr[0])
qc2.measure(qr[1], cr[1])
#qp.add_circuit('B1', qc1)
#qp.add_circuit('B2', qc2)
pprint(qp.get_qasms())
result = qp.execute()
print(result.get_counts('B1'))
print(result.get_counts('B2'))
แต่น่าเสียดายที่สิ่งที่ฉันได้รับคือผลเหมือนกันสำหรับทั้งสองวิ่ง (เช่นการนับ11
สำหรับB1
และB2
แทน11
และ00
เป็นครั้งที่สองเช่นถ้าB2
มีการเรียกใช้ในรัฐใหม่ที่สมบูรณ์แบบเริ่มต้นบนหลัง00
B1