Skip to main content
IBM Quantum Platform

Optimize1qGatesSimpleCommutation

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

GitHub

Basi: TransformationPass

Ottimizza le stringhe di porte 1Q interrotte dalle porte 2Q commutando i componenti e risintetizzando i risultati. Le regole di commutazione sono memorizzate in commutation_table.

NOTA: Oltre a quelle indicate in commutation_table, questo pass presenta alcune limitazioni:

  • Non gestisce più commutazioni consecutive senza progressi intermedi.
  • Può essere trasferito solo in posizioni in cui ci sono corse preesistenti.
  • Non testa in modo esaustivo tutti i diversi modi in cui i varchi per i pendolari possono essere assegnati a entrambi i lati di una barriera per cercare di trovare configurazioni a bassa profondità. (Questo è particolarmente evidente se tutti i cancelli di una corsa si incrociano con le barriere del predecessore e del successore)

Parametri

  • basis (List[str]) – Vedere anche Optimize1qGatesDecomposition.
  • run_to_completion (bool) – Se True, questo passaggio ritenta finché non è in grado di fare altro lavoro. Se Falso, trova ed esegue un'ottimizzazione, mentre per l'ottimizzazione completa l'utente è obbligato a richiamare il passaggio finché l'output non si stabilizza.
  • target (Target) – L'argomento Target che rappresenta il backend di destinazione; se sono specificati sia basis che questo, questo argomento avrà la precedenza e basis sarà ignorato.

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

Parametri

dag (DAGCircuit) – il DAG da ottimizzare.

Risultati

il DAG ottimizzato.

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.