Skip to main content
IBM Quantum Platform

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)

GitHub

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.0 indica l'assenza di approssimazione (entro i limiti della tolleranza numerica) e 0.0 indica l'approssimazione massima. Se target è disponibile, un valore pari a None indica 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 UnitarySynthesis passaggio. Cercherà un metodo valido nei plugin installati. È possibile visualizzare l'elenco dei plugin installati con unitary_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 HighLevelSynthesis pass. 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)

GitHub

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

PassManagerConfig

Aumenti

AttributeError – Se il backend non supporta il metodo configuration().

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.