BasePassManager
class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)
Classe di base del gestore di passaggi.
Inizializza un oggetto gestore di passaggi vuoto.
Parametri
- tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un pass che verrà aggiunto al calendario del gestore dei pass.
- max_iteration (int) – Il numero massimo di iterazioni in cui il programma verrà eseguito in loop se la condizione non è soddisfatta.
Metodi
append
append(tasks)
Aggiunge i compiti alla pianificazione dei passaggi.
Parametri
tasks (Task[IR, IR] | list[Task[IR, IR]]) – Una serie di attività del gestore dei pass da aggiungere alla pianificazione.
Aumenti
TypeError - Quando un qualsiasi elemento dei task non è una sottoclasse di Task passmanager.
Tipo di restituzione
Nessuna
remove
remove(index)
Rimuove un particolare passaggio nello scheduler.
Parametri
index (int) – Passa l'indice da rimuovere, in base alla posizione in passes().
Aumenti
PassManagerError – Se l'indice non viene trovato.
Tipo di restituzione
Nessuna
replace
replace(index, tasks)
Sostituire un particolare passaggio nello scheduler.
Parametri
- index (int) – Indice dell'attività da sostituire, in base alla posizione in
tasks() - tasks (Task[IR, IR] | list[Task[IR, IR]]) – Una serie di attività del gestore dei pass da aggiungere alla pianificazione.
Aumenti
- TypeError - Quando un qualsiasi elemento dei task non è una sottoclasse di Task passmanager.
- PassManagerError – Se l'indice non viene trovato.
Tipo di restituzione
Nessuna
run
run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)
Eseguire tutti i passaggi sul sito in_programs.
Parametri
-
in_programs (Any |list[Any]) – Inserire i programmi da trasformare tramite tutti i passaggi registrati. Un singolo oggetto di input non può essere un oggetto lista incorporato di tipo " Python ". Un oggetto lista è considerato come più oggetti di input da ottimizzare.
-
callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –
Una funzione di callback che verrà richiamata dopo l'esecuzione di ogni passaggio. La funzione verrà chiamata con 5 argomenti chiave:
task (GenericPass): the pass being run passmanager_ir (Any): depending on pass manager subclass property_set (PropertySet): the property set running_time (float): the time to execute the pass count (int): the index for the pass executionGli argomenti passati esattamente rivelano il funzionamento interno del gestore dei pass e sono soggetti a modifiche man mano che tale funzionamento interno cambia. Se intendi riutilizzare una funzione di callback in diverse versioni, assicurati che gli argomenti passati siano gli stessi.
Per utilizzare la funzione di callback, si definisce una funzione che accetta i dettati kwargs e accede alle variabili. Ad esempio:
def callback_func(**kwargs): task = kwargs['task'] passmanager_ir = kwargs['passmanager_ir'] property_set = kwargs['property_set'] running_time = kwargs['running_time'] count = kwargs['count'] ... -
num_processes (int | None) – Il numero massimo di processi paralleli da avviare se l'esecuzione parallela è abilitata. Questa impostazione ha la precedenza
num_processessul file di configurazione dell'utente e sulla variabileQISKIT_NUM_PROCSd'ambiente. Se impostato su verrà utilizzataNonela configurazione predefinita del sistema o quella dell'utente locale. -
property_set (dict[str, object] | None) – Se dato, il valore iniziale da usare come parametro
PropertySetper la pipeline del gestore dei passaggi. Questo può essere usato per persistere l'analisi da un'esecuzione all'altra, nei casi in cui si sa che l'analisi è sicura da condividere. Attenzione: alcune analisi saranno specifiche per il circuito di ingresso e il particolareTargetquindi è necessario prestare molta attenzione quando si utilizza questo argomento. -
kwargs - Argomenti arbitrari passati al frontend e al backend del compilatore.
Risultati
Il/i programma/i trasformato/i.
Tipo di restituzione
to_flow_controller
to_flow_controller()
Linearizzare questo gestore in un singolo FlowControllerLinearin modo che possa essere annidato all'interno di un altro gestore di passaggi.
Risultati
Un gestore di passaggi linearizzato.
Tipo di restituzione
Flow[* ControllerLinearIR*, IR]