Skip to main content
IBM Quantum Platform

FilterOpNodes

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

GitHub

Basi: TransformationPass

Rimuovere tutte le operazioni che corrispondono a una funzione di filtro

Questo passaggio di trasformazione viene utilizzato per rimuovere tutte le operazioni che corrispondono a una funzione di filtro fornita.

Parametri

predicato - Una callable data che sarà passata al parametro DAGOpNode per ogni nodo della classe DAGCircuit. Se il callable restituisce True il DAGOpNode viene mantenuto nel circuito, mentre se restituisce False viene rimosso dal circuito.

Esempio

Filtrare le operazioni che sono etichettate "foo"

from qiskit import QuantumCircuit
from qiskit.transpiler.passes import FilterOpNodes

circuit = QuantumCircuit(1)
circuit.x(0, label='foo')
circuit.barrier()
circuit.h(0)

circuit = FilterOpNodes(
    lambda node: getattr(node.op, "label") != "foo"
)(circuit)
circuit.draw('mpl')
Schema del circuito prodotto dal codice precedente.

Attributi

is_analysis_pass

Controlla se il passaggio è un passaggio di analisi.

Se il passo è un AnalysisPass,, significa che il passo può analizzare il DAG e scrivere i risultati di tale analisi nel set di proprietà. Questo tipo di passaggio non consente di modificare il DAG.

is_transformation_pass

Controlla se il passaggio è un passaggio di trasformazione.

Se il passaggio è un TransformationPass,, significa che il passaggio può manipolare il DAG, ma non può modificare il set di proprietà (ma può essere letto).


Metodi

execute

execute(passmanager_ir, state, callback=None)

GitHub

Eseguire l'attività di ottimizzazione per l'IR Qiskit in ingresso.

Parametri

  • passmanager_ir (DAGCircuit) – Qiskit IR da ottimizzare.
  • state (DAGCircuit) – Stato associato all'esecuzione del flusso di lavoro da parte dello stesso gestore dei passaggi.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Una funzione di callback che viene chiamata ad ogni esecuzione di un'attività di ottimizzazione.

Risultati

Qiskit IR ottimizzato e stato del flusso di lavoro.

Tipo di restituzione

tuple [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Nome del passo.

Tipo di restituzione

STR

run

run(dag)

GitHub

Eseguire il passaggio RemoveBarriers su dag.

Parametri

dag (DAGCircuit)

Tipo di restituzione

DAGCircuito

update_status

update_status(state, run_state)

GitHub

Aggiornare lo stato del flusso di lavoro.

Parametri

  • state (PassManagerState) – Passare lo stato del gestore da aggiornare.
  • run_state (RunState) – Stato di completamento dell'attività corrente.

Risultati

Stato aggiornato del gestore dei passaggi.

Tipo di restituzione

PassManagerState

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.