Skip to main content
IBM Quantum Platform

EquivalenceLibrary

class qiskit.circuit.EquivalenceLibrary(base=None)

GitHub

Basen: BaseEquivalenceLibrary

Eine Bibliothek, die ein einseitiges Mapping von Gates auf ihre äquivalenten Implementierungen als QuantumCircuits bereitstellt.


Attribute

graph

Rückgabe eines Diagramms, das die Daten der Äquivalenzbibliothek darstellt.

Diese Eigenschaft sollte als schreibgeschützt behandelt werden, da sie einen Verweis auf den internen Zustand des EquivalenceLibrary objekts liefert. Wenn der von dieser Eigenschaft zurückgegebene Graph verändert wird, könnte dies den Inhalt des Objekts beschädigen. Wenn Sie die Ausgabe PyDiGraph ändern müssen, stellen Sie sicher, dass Sie vor jeder Änderung eine Kopie erstellen.

Rückgabe

Ein Graphobjekt mit Äquivalenzdaten in jedem Knoten.

Rückgabetyp

PyDiGraph


Methoden

add_equivalence

add_equivalence(gate, equivalent_circuit)

Fügen Sie der Bibliothek eine neue Äquivalenz hinzu. Zukünftige Abfragen für das Tor werden die gegebene Schaltung zusätzlich zu allen bestehenden Äquivalenzen (einschließlich derer aus der Basis) enthalten.

Parametrisierte Gatter (die qiskit.circuit.Parameters in ihrem Gate.params enthalten) können als äquivalent zu parametrisierten Schaltungen gekennzeichnet werden, sofern die Parameter übereinstimmen.

Parameter

  • gate (Gate) – Eine Gate-Instanz.
  • equivalent_circuit (QuantumCircuit) – Eine Schaltung, die das angegebene Gatter äquivalent implementiert.

draw

draw(filename=None)

GitHub

Zeichnet die in der Bibliothek verfügbaren Äquivalenzbeziehungen.

Warnung

Diese Funktion ruft das systemeigene Graphviz-Tool für eine Datei auf, die vom Benutzer steuerbare Zeichenfolgen (wie beispielsweise Gate-Namen) enthält. Es wird empfohlen, diese Funktion nur bei vertrauenswürdigen Eingaben aufzurufen.

Parameter

filename (str) – Ein optionaler Pfad, in den das Ausgabebild geschrieben werden soll. Wenn nichts anderes angegeben ist, wird stattdessen das Bild zurückgegeben.

Rückgabe

Wenn filename ist None, dann das gerenderte Bild.

Rückgabetyp

PIL.Image

Erhöht

InvalidFileError – wenn der Dateiname ungültig ist.

get_entry

get_entry(gate)

GateRuft die Menge der QuantumCircuit Schaltkreise aus der Bibliothek ab, die die angegebene Funktion äquivalent implementieren.

Bei parametrisierten Schaltungen werden die Parameter durch die entsprechenden Einträge aus Gate.params ersetzt.

Parameter

gate (Gate) – Eine Gate-Instanz.

Rückgabe

Eine Liste gleichwertiger QuantumCircuit Instanzen.

Wenn leer, enthält die Bibliothek keine bekannten Zerlegungen von Gate.

Die zurückgegebenen Schaltkreise werden nach ihrer Einfügung in die Bibliothek geordnet, vom frühesten zum spätesten, von oben nach unten. Die Reihenfolge der StandardEquivalenceLibrary ist in der Regel nicht in allen Qiskit-Versionen gleich.

Rückgabetyp

Liste [ QuantumCircuit ]

has_entry

has_entry(gate)

Prüfen Sie, ob eine Bibliothek Dekompositionen für Gatter enthält.

Parameter

gate (Gate) – Eine Gate-Instanz.

Rückgabe

Wahr, wenn das Tor eine bekannte Zerlegung in der Bibliothek hat.

Sonst falsch.

Rückgabetyp

bool

keys

keys()

Rückgabe einer Liste von Schlüsseln für die Schlüssel-Knoten-Index-Map.

Rückgabe

Schlüssel zur Schlüssel-Knoten-Index-Map.

Rückgabetyp

Liste

node_index

node_index(key)

Rückgabe des Knotenindex für einen bestimmten Schlüssel.

Parameter

key (Key) – Schlüssel zu einer Äquivalenz.

Rückgabe

Index für den Knoten im Graphen für den angegebenen Schlüssel.

Rückgabetyp

Ganzzahl

set_entry

set_entry(gate, entry)

Setzen Sie den Äquivalenzsatz für ein Gate. Künftige Abfragen nach dem Tor werden nur die angegebenen Schaltkreise zurückgeben.

Parametrisierte Gatter (die qiskit.circuit.Parameters in ihrem Gate.params enthalten) können als äquivalent zu parametrisierten Schaltungen gekennzeichnet werden, sofern die Parameter übereinstimmen.

Parameter

  • gate (Gate) – Eine Gate-Instanz.
  • entry (List['QuantumCircuit']) – Eine Liste von QuantumCircuit Instanzen, die jeweils das angegebene Gate auf gleichwertige Weise implementieren.
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.