Skip to main content
IBM Quantum Platform

ApplyLayout

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

GitHub

Basi: TransformationPass

Applicare o aggiornare la mappatura dei qubit virtuali ai qubit fisici nel file DAGCircuit.

Un "layout" in Qiskit è una mappatura dei qubit virtuali (di cui l'utente crea tipicamente i circuiti) con i qubit fisici utilizzati per rappresentarli nell'hardware.

Questo passaggio ha due modalità di funzionamento, che dipendono dallo stato dei tasti layout e post_layout nella finestra di dialogo PropertySet:

  1. Funzionamento standard: post_layout non è impostato. Questo prende in considerazione un DAGCircuit definito su qubit virtuali e lo riscrive in termini di qubit fisici. In questo caso, il campo layout deve essere stato scelto da un passaggio di layout (per esempio SetLayout o VF2Layout) e sia esso che il campo DAGCircuit devono essere stati espansi con ancillas (cfr EnlargeWithAncilla e FullAncillaAllocation).

  2. Migliorare un layout: post_layout è impostato (ad esempio da VF2PostLayout). In questo caso, il sito post_layout deve essere già della dimensione corretta. Viene interpretata come una rietichettatura ´aggiuntiva´ che si aggiunge a quella già applicata all'input DAGCircuit.

    Dopo l'esecuzione del passaggio, il campo layout verrà aggiornato per rappresentare la composizione delle due riformulazioni, così come il campo DAGCircuit e qualsiasi permutazione finale. Il campo post_layout verrà rimosso.


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

Eseguire il passaggio ApplyLayout su dag.

Parametri

dag (DAGCircuit) – Da DAG a mappa.

Risultati

Un DAG mappato (con qubit fisici).

Tipo di restituzione

DAGCircuito

Aumenti

TranspilerError – se non viene individuato alcun layout in property_set o se non sono presenti qubit fisici completi.

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.