LayoutTransformation
class qiskit.transpiler.passes.LayoutTransformation(*args, **kwargs)
Basi: TransformationPass
Aggiunge al circuito un circuito Swap per una determinata permutazione (parziale).
Questo circuito viene trovato con un algoritmo di approssimazione a 4 per il Token Swapping. Maggiori dettagli sono disponibili nel codice di routing.
LayoutTransformation inizializzatore.
Parametri
- coupling\map - Grafo diretto che rappresenta una mappa di accoppiamento.
- from_layout (Union[Layout, str]) – La disposizione iniziale dei qubit sui qubit fisici. Se il tipo è str, cerca property_set quando viene eseguito questo passaggio.
- to_layout (Union[Layout, str]) – La disposizione finale dei qubit sui qubit fisici. Se il tipo è str, cerca
property_setquando questo passaggio viene eseguito. - seed (Union[int, np.random.default_rng]) – Seme da utilizzare per le prove casuali.
- trials (int) – Quante prove randomizzate eseguire, prendendo come risultato il circuito migliore.
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)
Applica al circuito la permutazione parziale specificata.
Parametri
dag (DAGCircuit) – DAG per trasformare il layout di.
Risultati
Il DAG con layout trasformato.
Tipo di restituzione
Aumenti
TranspilerError – se la mappa di accoppiamento o il layout non sono compatibili con il DAG. Oppure se una delle stringhe "from" o "to"_layout non viene trovata in property_set.
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