Skip to main content
IBM Quantum Platform

FixedPoint

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

GitHub

Basi: AnalysisPass

Verifica se una proprietà ha raggiunto un punto fisso.

Un ciclo di analisi fittizio che verifica se una proprietà ha raggiunto un punto fisso. Il risultato viene salvato in property_set['<property_to_check>_fixed_point'] come valore booleano.

È possibile specificare un callable opzionale getter per ricavare un valore dall'insieme di proprietà, anziché leggere direttamente una singola chiave. Ciò risulta utile quando occorre verificare la convergenza in base a una combinazione di proprietà (ad esempio, una tupla composta da dimensione e numero di t):

def get_size_and_t_count(property_set):
    return (
        property_set["size"],
        property_set["count_ops"].get("t", 0) + property_set["count_ops"].get("tdg", 0)
    )

FixedPoint("size_and_t_count", get_size_and_t_count)

Parametri

  • property_to_check – Il nome utilizzato come chiave per il risultato in virgola fissa nella proprietà definita sotto property_set['<property_to_check>_fixed_point']. Quando getter è None, questo nome viene utilizzato anche come chiave per leggere il valore corrispondente dall'insieme delle proprietà.
  • getter – Funzione opzionale che accetta come parametro la proprietà impostata e restituisce il valore da monitorare. Quando None (impostazione predefinita), il valore property_set[property_to_check] viene utilizzato a fini di tracciamento.

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

Esegui il passaggio " FixedPoint " su dag.

Parametri

dag (DAGCircuit)

Tipo di restituzione

Nessuna

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.