Skip to main content
IBM Quantum Platform

TwoQubitQPDGate

class TwoQubitQPDGate(basis, *, basis_id=None, label=None)

GitHub

Basen: BaseQPDGate

Zwei-Qubit-Gatter, das mit Hilfe der Quasi-Wahrscheinlichkeitszerlegung zerlegt wird.

Initialisieren Sie das Zwei-Qubit-QPD-Gatter.

Parameter

  • basis (QPDBasis) – A QPDBasis , in die das Tor zerlegt werden soll
  • basis_id (int | None) – Ein Index für die Basis, in die das Tor zerlegt werden soll. Dieser Index ist auf basis.maps zu finden.
  • label (str | None) – Ein optionales Etikett für das Tor

Erhöht

ValueError - Die QPDBasis wirkt auf eine Anzahl von Qubits, die nicht gleich 2 ist.


Attribute

base_class

Ermittelt die Basisklasse dieser Instruktion. Dies ist garantiert im Vererbungsbaum von self zu finden.

Die "Basisklasse" einer Anweisung ist die niedrigste Klasse in ihrem Vererbungsbaum, mit der das Objekt für _all_ Schaltkreisanwendungen als vollständig kompatibel angesehen werden sollte. Dies bedeutet in der Regel, dass die Unterklasse nur definiert ist, um dem Programmierer eine gewisse Bequemlichkeit gegenüber der Basisklasse zu bieten, und die Basisklasse ist die "wahre" Klasse für eine Verhaltensperspektive. Insbesondere sollten Sie Folgendes nicht außer Kraft setzen base_class nicht überschreiben, wenn Sie eine benutzerdefinierte Version einer Anweisung definieren, die von der Hardware anders implementiert wird, z. B. eine alternative Messstrategie oder eine Version eines parametrisierten Gatters mit einem bestimmten Satz von Parametern, um es in Target von dem vollständig parametrisierten Gatter zu unterscheiden.

Dies ist oft genau gleichwertig mit type(obj), außer im Fall von Singleton-Instanzen von Standard-Bibliotheksanweisungen. Diese Singleton-Instanzen sind spezielle Unterklassen ihrer Basisklasse, und diese Eigenschaft gibt die Basisklasse zurück. Zum Beispiel:

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

Im Allgemeinen sollte man sich nicht auf die genaue Klasse eines Befehls verlassen; innerhalb eines bestimmten Schaltkreises ist zu erwarten, dass " Instruction.name " in den meisten Situationen ein geeigneteres Unterscheidungsmerkmal sein sollte.

basis

Quasiprobabilitäts-Zerlegungsbasis.

Rückgabe

Die Basis, in die das Tor zerlegt werden soll

basis_id

Index der Basis, die für die Zerlegung dieses Gatters verwendet wird.

Ist dieser Wert auf Keine gesetzt, wird bei der Zerlegung eine Zufallsbasis gewählt.

Rückgabe

Der Basisindex

condition

Die klassische Bedingung für die Anweisung.

Veraltet seit Version 1.3.0

Die Eigenschaft qiskit.circuit.instruction.Instruction.condition ist ab qiskit 1.3.0 veraltet. Sie wird auf 2.0.0 entfernt.

condition_bits

Clbits in Zustand bringen.

Veraltet seit Version 1.3.0

Die Eigenschaft qiskit.circuit.instruction.Instruction.condition_bits ist ab qiskit 1.3.0 veraltet. Sie wird auf 2.0.0 entfernt.

decompositions

Holen Sie sich die Zerlegungen der Anweisung von SessionEquivalenceLibrary.

definition

Definition der Rückgabe in Bezug auf andere grundlegende Gates.

duration

Holen Sie sich die Dauer.

Veraltet seit Version 1.3.0

Die Eigenschaft qiskit.circuit.instruction.Instruction.duration ist ab qiskit 1.3.0 veraltet. Sie wird in Qiskit 2.0.0 entfernt.

label

Etikett mit Rücksendeanweisungen

mutable

Ist diese Instanz eine veränderbare eindeutige Instanz oder nicht.

Wenn dieses Attribut False lautet, ist die Gate-Instanz ein gemeinsam genutztes Singleton und nicht veränderbar.

name

Geben Sie 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 sind dies Torwinkel.

unit

Ermittelt die Zeiteinheit der Dauer.

Veraltet seit Version 1.3.0

Die Eigenschaft qiskit.circuit.instruction.Instruction.unit ist ab qiskit 1.3.0 veraltet. Sie wird in Qiskit 2.0.0 entfernt.


Methoden

add_decomposition

add_decomposition(decomposition)

Fügen Sie eine Dekomposition der Anweisung in die SessionEquivalenceLibrary ein.

assemble

assemble()

Montieren Sie eine QasmQobjInstruction

Veraltet seit Version 1.2

Die Methode qiskit.circuit.instruction.Instruction.assemble() ist ab qiskit 1.2 veraltet. Sie wird in der Version 2.0 entfernt werden. Die Qobj-Klasse und die damit verbundenen Funktionen sind Teil des veralteten BackendV1 Workflows und für BackendV2 nicht mehr erforderlich. Wenn ein Benutzer-Workflow Qobj benötigt, beruht er wahrscheinlich auf einer veralteten Funktionalität und sollte auf BackendV2 aktualisiert werden.

broadcast_arguments

broadcast_arguments(qargs, cargs)

Validierung der Argumente.

Parameter

  • qargs (List) – Liste der Quantenbit-Argumente.
  • cargs (List) – Liste der klassischen Bit-Argumente.

Ergiebigkeit

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

Erhöht

CircuitError - Wenn die Eingabe ungültig ist. Zum Beispiel entspricht die Anzahl der Argumente nicht der Erwartung des Gates.

c_if

c_if(classical, val)

Legen Sie bei dieser Anweisung eine klassische Gleichheitsbedingung zwischen dem Register oder cbit classical und dem Wert val fest.

Anmerkung

Es handelt sich hierbei um eine Setter-Methode, nicht um eine additive Methode. Ein mehrfacher Aufruf dieser Funktion setzt alle zuvor gesetzten Bedingungen außer Kraft; sie ist nicht stapelbar.

Veraltet seit Version 1.3.0

Die Methode qiskit.circuit.instruction.Instruction.c_if() ist ab qiskit 1.3.0 veraltet. Sie wird auf 2.0.0 entfernt.

copy

copy(name=None)

Kopie der Anweisung.

Parameter

name (str) – name, der dem kopierten Stromkreis gegeben werden soll, wenn None , dann bleibt der Name gleich.

Rückgabe

eine Kopie der aktuellen Anweisung, wobei der Name aktualisiert wird, wenn er angegeben wurde

Rückgabetyp

qiskit.circuit.Instruction

from_instruction

classmethod from_instruction(instruction, /)

Erstellen Sie eine TwoQubitQPDGate die eine ausgeschnittene Version der angegebenen instruction darstellt.

Parameter

instruction (Instruction)

inverse

inverse(annotated=False)

Kehren Sie diese Anweisung um.

Wenn annotated auf False steht, wird die inverse Anweisung als neue Anweisung mit der rekursiv invertierten Definition implementiert.

Wenn annotated True ist, wird die inverse Anweisung als AnnotatedOperation implementiert und entspricht der gegebenen Anweisung, die mit dem "inverse modifier" kommentiert ist.

Spezielle Befehle, die von Instruction erben, können ihre eigene Umkehrung implementieren (z. B. T und Tdg, Barrier, usw.) Insbesondere können sie wählen, wie sie das Argument annotated behandeln wollen, z. B. indem sie es ignorieren und immer eine konkrete Gatterklasse zurückgeben, wenn die Umkehrung als Standardgatter definiert ist.

Parameter

annotated (bool) – wenn auf True gesetzt, wird der Ausgang inverses Tor als AnnotatedOperation zurückgegeben.

Rückgabe

Die umgekehrte Operation.

Erhöht

CircuitError - wenn es sich nicht um eine zusammengesetzte Anweisung handelt, für die keine Umkehrung implementiert wurde.

is_parameterized

is_parameterized()

Gibt zurück, ob Instruction Kompilierzeitparameter enthält.

repeat

repeat(n)

Erzeugt eine Anweisung mit self , die :math`n`mal wiederholt wird.

Wenn diese Operation eine Bedingung hat, hat die Ausgabeanweisung die gleiche Bedingung und die inneren wiederholten Operationen sind nicht bedingt; Anweisungen innerhalb einer zusammengesetzten Definition können nicht auf Register innerhalb des Datenmodells von Qiskit bedingt werden. Das bedeutet, dass es nicht zulässig ist, einen wiederholten Befehl auf ein Bit anzuwenden, auf das er in seiner Bedingung sowohl schreibt als auch von dem er liest.

Parameter

n (int) – Anzahl der Wiederholungen des Befehls

Rückgabe

Enthält die Definition.

Rückgabetyp

qiskit.circuit.Instruction

Erhöht

CircuitError - Wenn n < 1.

reverse_ops

reverse_ops()

Bei einer zusammengesetzten Anweisung kehren Sie die Reihenfolge der Unteranweisungen um.

Dies geschieht durch rekursive Umkehrung aller Unterbefehle. Es wird kein Gate invertiert.

Rückgabe

eine neue Anweisung mit

unteranweisungen umgedreht.

Rückgabetyp

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

Weicher Vergleich zwischen Gates. Ihre Namen, die Anzahl der Qubits und die klassischen Bitnummern müssen übereinstimmen. Die Anzahl der Parameter muss übereinstimmen. Jeder Parameter wird verglichen. Wenn man eine ParameterExpression ist, wird sie nicht berücksichtigt.

Parameter

other (instruction) – sonstiger Unterricht.

Rückgabe

sind selbst und andere gleich bis hin zu Parameterausdrücken.

Rückgabetyp

bool

to_mutable

to_mutable()

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

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

validate_parameter

validate_parameter(parameter)

Instruktionsparameter haben keine Validierung oder Normalisierung.

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