Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Der Stromkreis wird überprüft
Quantenschaltkreise in Amazon Braket haben ein Pseudozeitkonzept namens. Moments
Jeder qubit kann pro ein einzelnes Tor erleben. Moment
Der Zweck von Moments
besteht darin, die Adressierung von Schaltkreisen und ihren Gates zu vereinfachen und eine zeitliche Struktur bereitzustellen.
Anmerkung
Die Zeitpunkte entsprechen im Allgemeinen nicht der Echtzeit, in der Gates auf einer QPU ausgeführt werden.
Die Tiefe einer Schaltung wird durch die Gesamtzahl der Momente in dieser Schaltung bestimmt. Sie können die Schaltkreistiefe anzeigen, indem Sie die Methode aufrufen, circuit.depth
wie im folgenden Beispiel gezeigt.
# define a circuit with parametrized gates circ = Circuit().rx(0, 0.15).ry(1, 0.2).cnot(0,2).zz(1, 3, 0.15).x(0) print(circ) print('Total circuit depth:', circ.depth)
T : | 0 | 1 |2| q0 : -Rx(0.15)-C----------X- | q1 : -Ry(0.2)--|-ZZ(0.15)--- | | q2 : ----------X-|---------- | q3 : ------------ZZ(0.15)--- T : | 0 | 1 |2| Total circuit depth: 3
Die gesamte Schaltkreistiefe des obigen Schaltkreises beträgt 3 (dargestellt als Momente 0
1
, und2
). Sie können den Gate-Betrieb für jeden Moment überprüfen.
Moments
funktioniert als Wörterbuch von Schlüssel-Wert-Paaren.
-
Der Schlüssel ist
MomentsKey()
, der Pseudozeit und Informationen enthält. qubit -
Der Wert wird im Typ von zugewiesen.
Instructions()
moments = circ.moments for key, value in moments.items(): print(key) print(value, "\n")
MomentsKey(time=0, qubits=QubitSet([Qubit(0)])) Instruction('operator': Rx('angle': 0.15, 'qubit_count': 1), 'target': QubitSet([Qubit(0)])) MomentsKey(time=0, qubits=QubitSet([Qubit(1)])) Instruction('operator': Ry('angle': 0.2, 'qubit_count': 1), 'target': QubitSet([Qubit(1)])) MomentsKey(time=1, qubits=QubitSet([Qubit(0), Qubit(2)])) Instruction('operator': CNot('qubit_count': 2), 'target': QubitSet([Qubit(0), Qubit(2)])) MomentsKey(time=1, qubits=QubitSet([Qubit(1), Qubit(3)])) Instruction('operator': ZZ('angle': 0.15, 'qubit_count': 2), 'target': QubitSet([Qubit(1), Qubit(3)])) MomentsKey(time=2, qubits=QubitSet([Qubit(0)])) Instruction('operator': X('qubit_count': 1), 'target': QubitSet([Qubit(0)]))
Sie können einem Schaltkreis auch Tore hinzufügenMoments
.
new_circ = Circuit() instructions = [Instruction(Gate.S(), 0), Instruction(Gate.CZ(), [1,0]), Instruction(Gate.H(), 1) ] new_circ.moments.add(instructions) print(new_circ)
T : |0|1|2| q0 : -S-Z--- | q1 : ---C-H- T : |0|1|2|