MergeAdjacentBarriers
class qiskit.transpiler.passes.MergeAdjacentBarriers(*args, **kwargs)
Basi: TransformationPass
Restituisce un circuito con tutte le barriere adiacenti unite insieme.
Verranno unite solo le barriere che possono essere unite senza influenzare la struttura delle barriere del DAG.
Non tutte le barriere ridondanti vengono necessariamente unite, ma solo quelle adiacenti.
Ad esempio, il circuito:
qr = QuantumRegister(3, 'q')
circuit = QuantumCircuit(qr)
circuit.barrier(qr[0])
circuit.barrier(qr[1])
circuit.barrier(qr)Sarà trasformato in un circuito corrispondente a:
circuit.barrier(qr[0])
circuit.barrier(qr)cioè
░ ░ ░ ░
q_0: ─░──░─ q_0: ─░──░─
░ ░ ░ ░
q_1: ─░──░─ => q_1: ────░─
░ ░ ░
q_2: ────░─ q_2: ────░─
░dopo un'iterazione del passaggio. Queste due barriere non sono state unite dal primo passaggio perché non sono adiacenti nel circuito iniziale.
Il passaggio può quindi essere riapplicato per unire le nuove barriere adiacenti.
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)
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
name
run
update_status
update_status(state, run_state)
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