Der Stromkreis wird überprüft - Amazon Braket

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 01, und2). Sie können den Gate-Betrieb für jeden Moment überprüfen.

Momentsfunktioniert als Wörterbuch von Schlüssel-Wert-Paaren.

  • Der Schlüssel istMomentsKey(), 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|