Skip to main content
IBM Quantum Platform

FullAncillaAllocation

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

GitHub

Basi: AnalysisPass

Allocare tutti i nodi inattivi dalla mappa di accoppiamento o dalla destinazione come ancilla sul layout.

Un passaggio per allocare tutti i qubit fisici inattivi (quelli che esistono nella mappa di accoppiamento o nel target ma non nel circuito dag) come ancilla. Inoltre, sceglierà nuovi qubit virtuali per corrispondere a tali ancille fisiche.

Nota

Si tratta di un passaggio di analisi, responsabile solo della scelta delle posizioni fisiche degli ancilla e dei qubit virtuali corrispondenti. Un passaggio di trasformazione separato deve aggiungere questi qubit virtuali al circuito.

FullAncillaAllocation inizializzatore.

Parametri

coupling_map (Union[CouplingMap, Target]) – grafo diretto che rappresenta una mappa di accoppiamento.


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 (IR) – Qiskit IR da ottimizzare.
  • state (PassManagerState) – Stato associato all'esecuzione del flusso di lavoro da parte del gestore del passaggio stesso.
  • callback (Callable[[Task, IR_OUT, 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

tupla [ IR_OUT, PassManagerState ]

name

name()

GitHub

Nome del passo.

Tipo di restituzione

STR

run

run(dag)

GitHub

Eseguire il passaggio FullAncillaAllocation su dag.

Estendere il layout con nuove coppie (qubit fisico, qubit virtuale). Il dag segnala quali qubit virtuali sono già presenti nel circuito. Questo passaggio alloca nuovi qubit virtuali in modo che non si verifichino collisioni (cioè la biunivocità del layout è preservata)

La mappa di accoppiamento e il layout determinano insieme quali qubit fisici sono liberi.

Parametri

dag (DAGCircuit) – circuito da analizzare

Risultati

restituisce lo stesso circuito dag, non modificato

Tipo di restituzione

DAGCircuito

Aumenti

TranspilerError – Se nel set di proprietà non è presente alcun layout o se non è stato impostato al momento dell'inizializzazione.

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

validate_layout

static validate_layout(layout_qubits, dag_qubits)

GitHub

Controlla se tutte le qreg in layout_qregs esistono già in dag_qregs. Altrimenti, sollevare.

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