Skip to main content
IBM Quantum Platform

ApplyLayout

class qiskit.transpiler.passes.ApplyLayout(*args, **kwargs)

GitHub

Basen: TransformationPass

Anwenden oder Aktualisieren der Zuordnung von virtuellen Qubits zu physischen Qubits in der DAGCircuit.

Ein "Layout" in Qiskit ist eine Zuordnung von virtuellen Qubits (in denen der Benutzer typischerweise Schaltungen erstellt) zu den physikalischen Qubits, mit denen sie in der Hardware dargestellt werden.

Dieser Pass hat zwei Betriebsarten, abhängig vom Zustand der Tasten layout und post_layout in der PropertySet:

  1. Standardbetrieb: post_layout ist nicht eingestellt. Dabei wird eine DAGCircuit die über virtuelle Qubits definiert ist, und schreibt sie in Form von physischen Qubits um. In diesem Fall muss das Feld layout durch einen Layout-Durchgang ausgewählt worden sein (z. B SetLayout oder VF2Layout) ausgewählt worden sein, und sowohl es als auch das Feld DAGCircuit müssen mit Ancillas erweitert worden sein (siehe EnlargeWithAncilla und FullAncillaAllocation).

  2. Verbessern eines Layouts: post_layout wird eingestellt (z. B. durch VF2PostLayout). In diesem Fall muss die post_layout bereits die richtige Größe haben. Sie wird als zusätzliche Umetikettierung zusätzlich zu der bereits auf die Eingabe angewandten Umetikettierung interpretiert DAGCircuit.

    Nach dem Durchlauf wird das Feld layout aktualisiert, um die Zusammensetzung der beiden Umbenennungen darzustellen, ebenso wie das Feld DAGCircuit und jede endgültige Permutation. Das Feld post_layout wird entfernt.


Attribute

is_analysis_pass

Prüfen Sie, ob der Pass ein Analysepass ist.

Wenn der Pass ein AnalysisPass, ist, bedeutet dies, dass der Pass die DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftssatz schreiben kann. Änderungen an der DAG sind bei dieser Art von Pass nicht zulässig.

is_transformation_pass

Prüfen Sie, ob der Pass ein Transformationspass ist.

Wenn es sich bei dem Pass um TransformationPass, handelt, bedeutet dies, dass der Pass die DAG manipulieren kann, aber den Eigenschaftssatz nicht ändern kann (aber er kann gelesen werden).


Methoden

execute

execute(passmanager_ir, state, callback=None)

GitHub

Ausführen der Optimierungsaufgabe für die Eingabe Qiskit IR.

Parameter

  • passmanager_ir (DAGCircuit) – Qiskit IR zur Optimierung.
  • state (DAGCircuit) – Zustand, der mit der Ausführung des Workflows durch den Pass-Manager selbst verbunden ist.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Eine Callback-Funktion, die bei jeder Ausführung einer Optimierungsaufgabe aufgerufen wird.

Rückgabe

Optimierte Qiskit IR und Stand des Workflows.

Rückgabetyp

Tupel [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Name des Passes.

Rückgabetyp

str

run

run(dag)

GitHub

Führen Sie den Pass ApplyLayout auf dag aus.

Parameter

dag (DAGCircuit) – DAG auf Karte.

Rückgabe

Eine abgebildete DAG (mit physischen Qubits).

Rückgabetyp

DAGCircuit

Erhöht

TranspilerError – wenn in property_set kein Layout gefunden wird oder keine vollständigen physikalischen Qubits vorhanden sind.

update_status

update_status(state, run_state)

GitHub

Aktualisieren Sie den Workflow-Status.

Parameter

  • state (PassManagerState) – Übergeben Sie den Status des Managers zur Aktualisierung.
  • run_state (RunState) – Erledigungsstatus der aktuellen Aufgabe.

Rückgabe

Aktualisierter Status des Passmanagers.

Rückgabetyp

PassManagerState

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