PassManagerConfig
class qiskit.transpiler.PassManagerConfig(initial_layout=None, basis_gates=None, coupling_map=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, approximation_degree=None, seed_transpiler=None, timing_constraints=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None, qubits_initially_zero=True)
Basi: object
Configurazione di Pass Manager.
Inizializza un oggetto PassManagerConfig
Parametri
- initial_layout (Layout | None) – Posizione iniziale dei qubit virtuali sui qubit fisici.
- basis_gates (list[str] | None) – Elenco dei nomi dei gate di base su cui eseguire l'unrolling.
- coupling_map (CouplingMap | None) – Grafo orientato che rappresenta una mappa di accoppiamento.
- layout_method (str | None) – il parametro da utilizzare per scegliere la disposizione iniziale dei qubit. Questo sarà il nome del plugin nel caso in cui venga utilizzato un plugin esterno per le fasi di layout.
- routing_method (str | None) – il percorso da utilizzare per l'instradamento dei qubit nell'architettura. Questo sarà il nome del plugin nel caso in cui venga utilizzato un plugin di routing esterno.
- translation_method (str | None) – il parametro da utilizzare per la conversione dei gate in basis_gates. Questo sarà il nome del plugin nel caso in cui venga utilizzato un plugin esterno per la fase di traduzione.
- scheduling_method (str | None) – il pass da utilizzare per programmare le istruzioni. Questo sarà il nome del plugin nel caso in cui venga utilizzato un plugin esterno per la fase di pianificazione.
- instruction_durations (InstructionDurations | None) – Dizionario delle durate (in dt) per ciascuna istruzione.
- approximation_degree (float | None) – Manopola euristica utilizzata per l'approssimazione del circuito, dove
1.0indica l'assenza di approssimazione (entro i limiti della tolleranza numerica) e0.0indica l'approssimazione massima. Setargetè disponibile, un valore pari aNoneindica che è consentita un'approssimazione fino al tasso di errore riportato per un'operazione nell'obiettivo. - seed_transpiler (int | None) – Imposta il seme casuale per le parti stocastiche del transpiler.
- timing_constraints (TimingConstraints | None) – Limiti di allineamento temporale dell'hardware.
- unitary_synthesis_method (str) – Il metodo stringa da utilizzare per il
UnitarySynthesispassaggio. Cercherà un metodo valido nei plugin installati. È possibile visualizzare l'elenco dei plugin installati conunitary_synthesis_plugin_names(). - unitary_synthesis_plugin_config (dict | None) – Il dizionario di configurazione che verrà passato al plugin di sintesi unitaria specificato. Per informazioni su come utilizzarlo, consultare la documentazione del plugin.
- target (Target | None) – La destinazione del backend
- hls_config (HLSConfig | None) – Una classe di configurazione opzionale da utilizzare per
HighLevelSynthesispass. Specifica come sintetizzare vari oggetti di alto livello. - init_method (str | None) – Il nome del plugin da utilizzare nella fase di inizializzazione
- optimization_method (str | None) – Il nome del plugin da utilizzare nella fase di ottimizzazione.
- qubits_initially_zero (bool) – Indica se il circuito di ingresso è inizializzato a zero.
Metodi
from_backend
classmethod from_backend(backend, _skip_target=False, **pass_manager_options)
Crea una configurazione basata su un backend e sui dati inseriti dall'utente.
Questo metodo genera automaticamente un oggetto PassManagerConfig in base alle funzionalità del backend. È possibile utilizzare le opzioni utente per sovrascrivere la configurazione.
Parametri
- backend (BackendV2) – Il backend che fornisce la configurazione.
- pass_manager_options – Coppie di opzioni e valori definite dall'utente.
Risultati
La configurazione generata in base agli argomenti.
Tipo di restituzione
Aumenti
AttributeError – Se il backend non supporta il metodo configuration().