Ich habe mich gefragt, ob es eine Möglichkeit gibt, ein Programm mit mehreren Quantenschaltungen zu erstellen, ohne dass das Register für jede Schaltung bei initialisiert wird .
Insbesondere möchte ich nach dem Ausführen der ersten eine zweite Quantenschaltung ausführen, wie in diesem Beispiel:
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'))
Leider , was ich bekommen , ist das gleiche Ergebnis für die beiden Läufe (dh eine Zählung 11für die B1und B2statt 11und 00für die zweite, als ob B2auf einem völlig neuen Zustand auf initialisiert läuft 00nach B1.