Skip to main content
IBM Quantum Platform

CollectLinearFunctions

class qiskit_ibm_transpiler.ai.CollectLinearFunctions(do_commutative_analysis: bool = True, min_block_size: int = 4, max_block_size: int = LINEAR_MAX_BLOCK_SIZE, collect_from_back: bool = False, num_reps: int = 10)

GitHub

Basen: RepeatedCollectAndCollapse

Sammelt Blöcke von SWAP und CX als LinearFunction Objekte und speichert die ursprüngliche Teilschaltung, um sie nach der Synthese mit ihr zu vergleichen.

Parameter

  • do_commutative_analysis (bool) – Aktivieren oder Deaktivieren der Kommutativanalyse, Standardwert ist True
  • min_block_size (int, optional) – Legt die Mindestgröße für Blöcke fest, die während des Durchlaufs von collect linear functions erzeugt werden; Standardwert ist 4.
  • max_block_size (int, optional) – Legt die maximale Größe für Blöcke fest, die während des Durchlaufs von collect linear functions erzeugt werden; Standardwert ist 9.
  • collect_from_back (bool, optional) – Geben Sie an, ob die Blöcke in umgekehrter Reihenfolge gesammelt werden sollen oder nicht; der Standardwert ist False.
  • num_reps (int, optional) – Geben Sie an, wie oft der Optimierungsprozess wiederholt werden soll. Der Standardwert ist 10.
  • collect_function (callable) – eine Funktion, die ein DAG annimmt und eine Liste von "gesammelten" Blöcken von Knoten zurückgibt
  • collapse_function (callable) – eine Funktion, die eine DAG und eine Liste von "gesammelten" Blöcken annimmt und jeden Block konsolidiert.
  • do_commutative_analysis - wenn True, werden die Kommutativitätsbeziehungen zwischen den Knoten genutzt.

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)

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

Parameter

  • passmanager_ir (Any) – Qiskit IR zu optimieren.
  • state (PassManagerState) – Status, der mit der Ausführung des Workflows durch den Passmanager selbst verbunden ist.
  • callback (Callable) – Eine Callback-Funktion, die bei jeder Ausführung einer Optimierungsaufgabe aufgerufen wird.

Rückgabe

Optimierte Qiskit IR und Stand des Workflows.

Rückgabetyp

tuple [*Any*, PassManagerState ]

name

name()

Name des Passes.

Rückgabetyp

str

run

run(dag)

GitHub

Führt den CollectLinearFunctions Durchgang auf dag aus. :param dag: die zu optimierende DAG. :type dag: DAGCircuit

Rückgabe

die optimierte DAG.

Rückgabetyp

DAGCircuit

update_status

update_status(state, run_state)

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.