Skip to main content
IBM Quantum Platform

MinimumPoint

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

GitHub

Basi: TransformationPass

Verificare se il DAG ha raggiunto un punto di semi-stabilità relativa rispetto alle esecuzioni precedenti

Questo passaggio è simile al passaggio FixedPoint e deve essere usato principalmente per impostare una condizione di interruzione del ciclo nell'insieme di proprietà. Tuttavia, a differenza della classe FixedPoint che imposta la condizione solo se 2 esecuzioni consecutive hanno lo stesso valore della proprietà impostata, questo passaggio è progettato per trovare un minimo locale e utilizzarlo al suo posto. Questo passaggio è pensato per un ciclo di ottimizzazione in cui un punto fisso potrebbe non essere mai raggiunto (ad esempio se si usa la sintesi e ci sono più uscite equivalenti per alcuni casi).

Questo passaggio tiene traccia dello stato dei campi dell'insieme di proprietà nelle sue esecuzioni passate e imposta un campo booleano quando viene raggiunto un punto fisso sulla profondità del backtracking o selezionando il valore minimo trovato se viene raggiunta la profondità del backtracking. A tal fine, memorizza una copia profonda del DAG minimo corrente nell'insieme di proprietà e quando viene raggiunto il numero backtrack_depth di esecuzioni dall'ultimo minimo, il DAG di uscita viene impostato su quella copia del minimo precedente.

I campi utilizzati da questo passaggio nell'insieme di proprietà sono (tutti relativi all'argomento prefix ):

  • {prefix}_minimum_point_state - Utilizzato per monitorare lo stato della ricerca del punto minimo

  • {prefix}_minimum_point - Questo valore viene impostato su True quando o un punto fisso

    viene raggiunto nel corso delle esecuzioni di backtrack_depth , oppure backtrack_depth è stato superato e viene ripristinato un minimo precedente.

Inizializza un'istanza di questo passo

Parametri

  • property_set_list (list) – Un elenco di chiavi dell'insieme di proprietà che verranno utilizzate per valutare il minimo locale. I valori delle chiavi di questi set di proprietà saranno utilizzati come tupla per il confronto
  • prefix (str) – Il prefisso da utilizzare per la chiave dell'insieme di proprietà, utilizzata per tracciare le valutazioni precedenti
  • backtrack_depth (int) – Il numero massimo di voci da memorizzare. Se questo numero viene raggiunto e l'iterazione successiva non ha una diminuzione del numero di valori, il minimo degli n precedenti sarà impostato come dag di uscita e minimum_point sarà impostato su True nell'insieme di proprietà

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 MinimumPoint su dag.

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.