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)
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
PassManagerda applicare a tutti i circuiti modello generati daExecutorCircuitGenerator.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_set | Il 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_sequencesvuoto. - 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.