SXdgGate
class qiskit.circuit.library.SXdgGate(*args, _force_mutable=False, **kwargs)
Basen: SingletonGate
Das inverse Sqrt(X)-Gatter für ein einzelnes Qubit.
Kann mit der sxdg() Methode auf ein QuantumCircuit angewendet werden.
Zwischen den Definitionen von und besteht eine globale Phasendifferenz.
Neues SXdg-Gate erstellen.
Attribute
base_class
Rufe die Basisklasse dieser Anweisung ab. Dies ist garantiert im Vererbungsbaum von enthalten 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 wurde, um dem Programmierer gegenüber der Basisklasse gewisse Erleichterungen zu bieten, während die Basisklasse aus verhaltensbezogener Sicht die „wahre“ Klasse ist. Insbesondere sollten Sie override nicht verwenden base_class , wenn 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 einem `` Target vom 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
TrueGenerell sollte man sich nicht auf die genaue Klasse eines Befehls verlassen; innerhalb einer bestimmten Schaltung ist davon auszugehen, dass in den meisten Fällen ein Instruction.name geeigneteres Unterscheidungsmerkmal darstellt.
decompositions
Rufen Sie die Zerlegungen des Befehls aus dem „ SessionEquivalenceLibrary “ ab.
definition
Definition des Rücklaufs in Bezug auf andere Grundgatter.
label
Etikett mit Rücksendeanweisungen
mutable
Ist diese Instanz eine veränderbare, eindeutige Instanz oder nicht?
Wenn dieses Attribut gesetzt ist, handelt es False sich bei der Gate-Instanz um ein gemeinsames 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 dieser Instruction. Idealerweise handelt es sich dabei um Torwinkel.
Methoden
add_decomposition
add_decomposition(decomposition)
Füge eine Aufschlüsselung der Anweisung in die Datei „ SessionEquivalenceLibrary “ ein.
broadcast_arguments
broadcast_arguments(qargs, cargs)
Validierung und Verarbeitung der Argumente sowie deren Beziehungen.
Zum Beispiel bedeutet cx(q[0], q[2]); cx(q[1], q[2])``cx([q[0],q[1]], q[2]) . Diese Methode liefert die Argumente in der richtigen Reihenfolge. Im vorliegenden Beispiel:
in: [[q[0],q[1]], q[2]],[]
outs: [q[0], q[2]], []
[q[1], q[2]], []Die allgemeinen Regeln für die Ausstrahlung lauten:
Wenn len(qargs) == 1:
[q[0], q[1]] -> [q[0]],[q[1]]Wenn len(qargs) == 2:
[[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]] [[q[0]], [r[0], r[1]]] -> [q[0], r[0]], [q[0], r[1]] [[q[0], q[1]], [r[0]]] -> [q[0], r[0]], [q[1], r[0]]Wenn len(qargs) >= 3 ist:
[q[0], q[1]], [r[0], r[1]], ...] -> [q[0], r[0], ...], [q[1], r[1], ...]
Parameter
Rückgabe
Ein Tupel mit einem einzigen Argument.
Erhöhungen
CircuitError – Wenn die Eingabe ungültig ist. Beispielsweise stimmt die Anzahl der Argumente nicht mit der vom Gatter erwarteten Anzahl überein.
Rückgabetyp
control
control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)
Gibt eine kontrollierte Version von sich selbst zurück.
Das gesteuerte Gatter wird als ControlledGate implementiert, wenn annotated ist False, und als, AnnotatedOperation wenn annotated ist True.
qiskit.circuit.gate.Gate.control()Das Argument annotated ist seit Qiskit 2.3 veraltet. Es wird in Qiskit 3.0 entfernt. Die Methode Gate.control () akzeptiert nicht mehr annotated=None. Der neue Standardwert ist annotated=True, wodurch das gesteuerte Gate als „ AnnotatedOperation “ dargestellt wird (sofern nicht bereits eine eigene Klasse für gesteuerte Gates vorhanden ist). Sie können „annotated=False“ explizit festlegen, um das bisherige Verhalten beizubehalten. Es wird jedoch empfohlen, annotated=True zu verwenden, da dadurch die Erstellung der kontrollierten Schaltung auf den Transpiler verschoben wird und darüber hinaus zusätzliche Optimierungen für kontrollierte Gatter ermöglicht werden (was in der Regel zu Schaltungen höherer Qualität führt).
Parameter
- num_ctrl_qubits (int) – Anzahl der hinzuzufügenden Steuerelemente. Der Standardwert ist
1. - label (str | None) – Optionales Tor-Schild. Der Standardwert ist
None. Wird ignoriert, wenn das gesteuerte Gate als kommentierte Operation implementiert ist. - ctrl_state (int |str | None) – Der Steuerzustand des Gatters, angegeben entweder als Ganzzahl oder als Bitfolge (z. B.
"110"). WennNone, wird standardmäßig der Zustand „alles2**num_ctrl_qubits - 1Einsen“ angenommen. - annotated (bool | None) – Gibt an, ob das gesteuerte Gatter als gesteuertes Gatter oder als kommentierte Operation implementiert werden soll. Wenn
None, dann giltFalse.
Rückgabe
Eine gesteuerte Version dieses Gatters.
Erhöhungen
QiskitError – ungültig num_ctrl_qubits oder ctrl_state.
copy
copy(name=None)
Kopie der Anleitung.
Parameter
name (str) – Name, der der kopierten Schaltung gegeben werden soll; wenn None dann bleibt der Name unverändert.
Rückgabe
eine Kopie der aktuellen Anleitung, wobei der Name aktualisiert wurde, sofern er angegeben wurde
Rückgabetyp
inverse
inverse(annotated=False)
Gibt das inverse SXdg-Gatter zurück (d. h. SX).
Parameter
annotated (bool) – Wenn diese Option aktiviert ist True, wird dies in der Regel verwendet, um einen AnnotatedOperation mit einem Inversionsmodifikator anstelle eines konkreten Gatezurückzugeben. Bei dieser Klasse wird dieses Argument jedoch ignoriert, da die Inverse dieses Gatters immer ein ist SXGate.
Rückgabe
Umkehrung von SXdgGate
Rückgabetyp
is_parameterized
power
power(exponent, annotated=False)
Erhebe dieses Tor zur Potenz von exponent.
Entweder als einheitliches Gatter implementiert (siehe UnitaryGate) oder als kommentierte Operation (siehe ) AnnotatedOperation. Bei mehreren Standardgattern, wie z. B. RXGate, wenn die Leistung eines Gatters als Funktion eines anderen Standardgatters ausgedrückt werden kann, das direkt zurückgegeben wird.
Parameter
- exponent (float) – die Kraft, das Tor zu öffnen
- annotated (bool) – gibt an, ob das Power-Gate als annotierte Operation implementiert werden kann. Bei einigen Standardgattern, wie beispielsweise
RXGate, wird dieses Argument ignoriert, wenn die Leistung eines Gatters durch ein anderes Standardgatter ausgedrückt werden kann.
Rückgabe
Eine Operation, die gate^exponent
Erhöhungen
CircuitError – Wenn das Gatter nicht unitär ist
repeat
repeat(n)
Erstellt eine Anweisung, die self -mal wiederholt wird.
Parameter
n (int) – Anzahl der Wiederholungen der Anweisung
Rückgabe
Enthält die Definition.
Rückgabetyp
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 Teilbefehle. Es kehrt kein Logikgatter um.
Rückgabe
eine neue Anweisung mit
Unterbefehle umgekehrt.
Rückgabetyp
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. Wenn man ein „ ParameterExpression “ ist, wird dies nicht berücksichtigt.
Parameter
other (instruction) – sonstige Anweisungen.
Rückgabe
sind „self“ und „other“ bis auf Parameterausdrücke gleich.
Rückgabetyp
to_matrix
to_matrix()
Gibt eine „ Numpy.array “ für die Gate-Einheitsmatrix zurück.
Rückgabe
wenn die Gate-Unterklasse eine Matrixdefinition enthält.
Rückgabetyp
np.ndarray
Erhöhungen
CircuitError – Wenn eine Gate-Unterklasse diese Methode nicht implementiert, wird beim Aufruf dieser Basisklassenmethode eine Ausnahme ausgelöst.
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 um eine neue, eindeutige Instanz, deren Zustand verändert werden kann. Wenn die Instanz bereits veränderbar ist, handelt es sich um eine vollständige Kopie dieser Instanz.
validate_parameter
validate_parameter(parameter)
Die Gate-Parameter sollten vom Typ „int“, „float“ oder „ ParameterExpression “ sein