Skip to main content
IBM Quantum Platform

MeasureReset

class MeasureReset(name='measure_reset', label=None)

GitHub

Basen: Instruction

Ein Reset, der die intern durchgeführte Messung offenlegt.

Diese Anweisung führt einen Reset-Vorgang durch, dessen Zwischenmessergebnis in einem klassischen Bit erfasst wird, sodass es für den Benutzer beobachtbar ist. Es verwendet ein Quantenbit und ein klassisches Bit, und sein Name lässt sich einer entsprechenden Implementierung auf Hardwareebene zuordnen und muss mit measure_reset. beginnen.

Die Semantik lautet wie folgt: Das Qubit wird in ein klassisches Bit gemessen, anschließend wird das Qubit bedingt wieder zurückgesetzt |0> – d. h., es handelt sich um einen Reset, bei dem das Messergebnis beibehalten wird.

Seit Version 1.3 veraltet

Die Parameter duration und unit sind seit Qiskit 1.3 veraltet und werden in 2.0 oder später entfernt. Die Dauer einer Anweisung wird im „Target“-Objekt eines Backends definiert.

Parameter

  • name (str) – Befehlsname
  • num_qubits (int) – Qubit-Breite der Anweisung
  • num_clbits (int) – CLBIT-Breite des Befehls
  • params (list[int|float|complex|str|ndarray|list|ParameterExpression]) – Liste der Parameter
  • label (str or None) – Eine optionale Bezeichnung zur Identifizierung der Anweisung.

Erhöhungen

  • CircuitError – wenn das Register nicht das richtige Format hat.
  • TypeError – wenn die optionale Bezeichnung angegeben ist, es sich dabei jedoch nicht um eine Zeichenkette handelt.

Attribute

base_class

Rufe die Basisklasse dieser Anweisung ab. Das wird garantiert im Vererbungsbaum von … vorkommen self.

Die „Basisklasse“ einer Anweisung ist die unterste Klasse in ihrem Vererbungsbaum, mit der das Objekt für _alle_ Schaltungsanwendungen als vollständig kompatibel angesehen werden sollte. Das bedeutet in der Regel, dass die Unterklasse lediglich definiert wird, um dem Programmierer gegenüber der Basisklasse gewisse Erleichterungen zu bieten, während die Basisklasse aus verhaltensorientierter Sicht die „wahre“ Klasse ist. Insbesondere sollten Sie die Methode nicht überschreiben, wenn base_class Sie eine benutzerdefinierte Version einer Anweisung definieren, die von der Hardware anders implementiert wird, wie beispielsweise eine alternative Messstrategie oder eine Version eines parametrisierten Gatters mit einem bestimmten Parametersatz, um diese in einer von Target dem vollständig parametrisierten Gatter zu unterscheiden.

Dies entspricht oft genau type(obj), außer im Fall von Singleton-Instanzen von Befehlen aus der Standardbibliothek. Diese Singleton-Instanzen sind spezielle Unterklassen ihrer Basisklasse, und diese Eigenschaft gibt diese Basisklasse zurück. Zum Beispiel:

>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True

Generell sollten Sie sich nicht auf die genaue Klasse einer Anweisung verlassen; innerhalb einer bestimmten Schaltung ist davon auszugehen, dass in den meisten Situationen ein geeigneteres Unterscheidungsmerkmal Instruction.name darstellt.

decompositions

Rufen Sie die Zerlegungen des Befehls aus der „ SessionEquivalenceLibrary “ ab.

definition

Definition des Rücklaufs anhand anderer Grundgatter.

label

Etikett mit Rücksendeanweisungen

mutable

Ist diese Instanz eine veränderbare, eindeutige Instanz oder nicht?

Wenn dieses Attribut gesetzt ist, handelt es sich bei der False Gate-Instanz um ein gemeinsam genutztes Singleton, das nicht veränderbar ist.

name

Gib den Namen zurück.

num_clbits

Gibt die Anzahl der clbits zurück.

num_qubits

Gibt die Anzahl der Qubits zurück.

params

Die Parameter dieses Instruction. Im Idealfall handelt es sich dabei um Torwinkel.


Methoden

add_decomposition

add_decomposition(decomposition)

Fügen Sie eine Aufschlüsselung der Anweisung in die „ SessionEquivalenceLibrary “ ein.

broadcast_arguments

broadcast_arguments(qargs, cargs)

Überprüfung der Argumente.

Parameter

  • qargs (List) – Liste der Argumente für Quantenbits.
  • cargs (List) – Liste klassischer Bit-Argumente.

Ergiebigkeit

Tupel(Liste, Liste) – Ein Tupel mit einzelnen Argumenten.

Erhöhungen

CircuitError – Wenn die Eingabe ungültig ist. Beispielsweise stimmt die Anzahl der Argumente nicht mit der vom Gatter erwarteten Anzahl überein.

copy

copy(name=None)

Kopie der Anleitung.

Parameter

name (str) – Name, der der kopierten Schaltung zugewiesen werden soll; wenn dann None bleibt der Name unverändert.

Rückgabe

eine Kopie der aktuellen Anleitung, wobei der Name aktualisiert wurde, sofern er angegeben wurde

Rückgabetyp

qiskit.circuit.Instruction

inverse

inverse(annotated=False)

Kehr diese Anweisung um.

Ist „annotated“ auf „False“ gesetzt, wird die inverse Anweisung als neue Anweisung mit der rekursiv invertierten Definition implementiert.

Ist „annotated“ auf „True“ gesetzt, wird die inverse Anweisung als implementiert und entspricht der angegebenen Anweisung AnnotatedOperation, die mit dem „inverse modifier“ versehen ist.

Spezielle Befehle, die von „Instruction“ abgeleitet sind, können ihre eigene Umkehrung implementieren (z. B. T und Tdg, Barrier usw.) Insbesondere können sie festlegen, wie mit dem Argument verfahren werden soll – dies annotated kann auch bedeuten, es zu ignorieren und stets eine konkrete Gatterklasse zurückzugeben, wenn die Inverse als Standardgatter definiert ist.

Parameter

annotated (bool) – Wenn dieser Wert auf „True“ gesetzt ist, wird das inverse Ausgangsgate als AnnotatedOperation. zurückgegeben.

Rückgabe

Die Umkehroperation.

Erhöhungen

CircuitError – wenn es sich nicht um eine zusammengesetzte Anweisung handelt und für diese keine Umkehrung implementiert wurde.

is_parameterized

is_parameterized()

Gibt zurück, ob das Kompilierungszeitparameter enthält Instruction .

repeat

repeat(n)

Erstellt eine Anweisung, die nn -mal wiederholt self wird.

Parameter

n (int) – Anzahl der Wiederholungen der Anweisung

Rückgabe

Enthält die Definition.

Rückgabetyp

qiskit.circuit.Instruction

Erhöhungen

CircuitError – Wenn n < 1 ist.

reverse_ops

reverse_ops()

Bei einem zusammengesetzten Befehl kehren Sie die Reihenfolge der Teilbefehle um.

Dies geschieht durch rekursive Umkehrung aller Unteranweisungen. Es kehrt kein Gatter um.

Rückgabe

eine neue Anweisung mit

Unterbefehle in umgekehrter Reihenfolge.

Rückgabetyp

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

Weicher Vergleich zwischen den Toren. Ihre Namen, die Anzahl der Qubits und die Anzahl der klassischen Bits müssen übereinstimmen. Die Anzahl der Parameter muss übereinstimmen. Jeder Parameter wird verglichen. Ist man ein „ ParameterExpression “, wird dies nicht berücksichtigt.

Parameter

other (instruction) – sonstige Anweisungen.

Rückgabe

sind „self“ und „other“ bis auf Parameterausdrücke gleich.

Rückgabetyp

Bool

to_mutable

to_mutable()

Gibt eine veränderbare Kopie dieses Gates zurück.

Diese Methode gibt eine neue, veränderbare Kopie dieser Gate-Instanz zurück. Wenn eine Singleton-Instanz verwendet wird, handelt es sich hierbei um eine neue, eindeutige Instanz, deren Zustand verändert werden kann. Wenn die Instanz bereits veränderbar ist, handelt es sich um eine Tiefenkopie dieser Instanz.

validate_parameter

validate_parameter(parameter)

Der Befehlsparameter unterliegt keiner Validierung oder Normalisierung.

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.