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 11
für die B1
und B2
statt 11
und 00
für die zweite, als ob B2
auf einem völlig neuen Zustand auf initialisiert läuft 00
nach B1
.