Saya bertanya-tanya apakah ada cara untuk menyusun program dengan beberapa sirkuit kuantum tanpa register diinisialisasi ulang pada untuk setiap sirkuit.
Secara khusus, saya ingin menjalankan sirkuit kuantum kedua setelah menjalankan yang pertama, seperti dalam contoh ini:
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'))
Sayangnya, apa yang saya dapatkan adalah hasil yang sama untuk dua kali berjalan (yaitu hitungan 11
untuk B1
dan B2
bukannya 11
dan 00
untuk yang kedua, seolah-olah B2
dijalankan pada keadaan yang sama sekali baru diinisialisasi 00
setelah B1
.