Skip to main content
IBM Quantum Platform

qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator

class qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator(gate_set: QiskitGateSet, creg_prefix: str = 'meas', local_clifford_ref_prefix: str = 'c', pass_manager: PassManager | None = None)

GitHub

Basi: CircuitGenerator[QuantumProgram, QuantumProgramResult]

Un generatore di circuiti che converte sequenze di porte Qiskit in elementi di un samplex.

Parametri

  • gate_set – L’insieme di gate Qiskit su cui si basa questo generatore.
  • creg_prefix – Il prefisso assegnato a tutti i nomi creg utilizzati nelle misurazioni delle sequenze di istruzioni. Il valore predefinito è "meas".
  • local_clifford_ref_prefix – Il prefisso assegnato a tutti i riferimenti ai parametri Clifford locali nei circuiti modello. Il valore predefinito è "c".
  • pass_manager – Un parametro opzionale PassManager da applicare a tutti i circuiti modello generati da ExecutorCircuitGenerator.generate(). I gestori dei pass non devono modificare i dettagli del circuito esistente (ad esempio, cambiare l'ordine dei qubit o rinominare le misurazioni).

I gate di preparazione pura (quelli con e prep_idxs senza operazioni) all'inizio di una sequenza di istruzioni non sono inclusi esplicitamente come blocco nel circuito modello. Al contrario, eventuali porte su un singolo qubit (ad esempio la rotazione di base) associate alla preparazione vengono assorbite dal “left-dressing” del box successivo.

__init__

__init__(gate_set: QiskitGateSet, creg_prefix: str = 'meas', local_clifford_ref_prefix: str = 'c', pass_manager: PassManager | None = None)


Metodi

Rubrica 1
Rubrica 2
__init__(gate_set[, creg_prefix, ...])
collect(risultato)Convertire i dati provenienti da uno specifico framework di esecuzione in una forma canonica.
generate(esperimento)Genera una nuova attività sperimentale a partire dall'esperimento fornito.
generate_samplex_item(sequenze_di_istruzioni,...)Generare un elemento samplex a partire da sequenze di istruzioni con la stessa struttura.
generate_samplex_items(...)Generare elementi Samplex a partire da sequenze di istruzioni.
partition(sequenze)Suddividere le posizioni delle sequenze di istruzioni che possono condividere un output di generazione.

Attributi

Rubrica 1
Rubrica 2
gate_setIl gate su cui opera questo generatore.

gate_set

Tipo: QiskitGateSet

Il gate su cui opera questo generatore.

collect

static collect(result)

Convertire i dati provenienti da uno specifico framework di esecuzione in una forma canonica.

generate

generate(experiment)

Genera una nuova attività sperimentale a partire dall'esperimento fornito.

generate_samplex_items

generate_samplex_items(instruction_sequences: list[InstructionSequence], num_randomizations: int) → tuple[list[SamplexItem], ExecutorDataMapper]

Generare elementi Samplex a partire da sequenze di istruzioni.

Parametri

  • sequenze_di_istruzioni – Le sequenze di istruzioni per le quali generare i circuiti.
  • num_randomizations – Il numero di randomizzazioni per sequenza.

Risultati

Una tupla composta da elementi di tipo Samplex e un mappatore di dati.

generate_samplex_item

generate_samplex_item(instruction_sequences: list[InstructionSequence], num_randomizations: int) → tuple[SamplexItem, list[str], dict[str, ndarray[int]]]

Generare un elemento samplex a partire da sequenze di istruzioni con la stessa struttura.

Ogni box twirled deve essere "left-dressed": l'accumulato PartialPauliPermutation viene emesso come Clifford locale "left-dressed" di ciascun box, pertanto un twirl "right-dressed" non è supportato e genera un'eccezione.

Parametri

  • sequenze_di_istruzioni – Le sequenze di istruzioni simili da generare.
  • num_randomizations – Il numero di randomizzazioni per sequenza.

Risultati

Un elemento samplex in cui l'ordine degli argomenti corrisponde all'ordine di instruction_sequences, una lista ordinata di nomi di creg, e un dizionario che associa i nomi dei creg all'indice del qubit fisico misurato in ciascuno dei loro bit classici, nell'ordine dei bit classici.

Aumenti

  • ValueError : se è instruction_sequences vuoto.
  • ValueError : se una qualsiasi delle sequenze di istruzioni non è completa.
  • ValueError : se una qualsiasi delle sequenze di istruzioni presenta una struttura diversa.
  • ValueError : se una casella ruotata non è allineata a sinistra.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.