Optimize1qGatesDecomposition
class qiskit.transpiler.passes.Optimize1qGatesDecomposition(*args, **kwargs)
Basi: TransformationPass
Ottimizzare catene di porte a singolo qubit combinandole in un'unica porta.
La decisione di sostituire la catena originale con una nuova risintesi dipende da:
- se la catena originale era fuori base: sostituire
- se la catena originale era in base ma la risintesi è inferiore errore: sostituire
- se la catena originale equivale all'identità: sostituire con null
L'errore viene calcolato come moltiplicazione degli errori delle singole porte su quel qubit.
Questa classe è multithread e, per impostazione predefinita, potrebbe avviare un pool di thread con un numero di thread pari a quello delle CPU. È possibile regolare il numero di thread tramite la RAYON_NUM_THREADS variabile d'ambiente. Ad esempio, impostando RAYON_NUM_THREADS=4 si limiterebbe il pool di thread a 4 thread.
Optimize1qGatesDecomposition inizializzatore.
Parametri
- basis (list[str]) – Porte di base da considerare, ad esempio [‘u3’, 'cx']. Agli effetti di questo passaggio, la base è l'insieme intersezione tra il parametro base e la base di Eulero. Ignorato se è specificato anche
target. - target (Optional[Target]) – L'oggetto
Targetcorrispondente alla destinazione di compilazione. Se specificato, qualsiasi argomento specificato perbasis_gatesviene 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)
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
run(dag)
Eseguire il passaggio Optimize1qGatesDecomposition su dag.
Parametri
dag (DAGCircuit) – il DAG da ottimizzare.
Risultati
il DAG ottimizzato.
Tipo di restituzione
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