qiskit_noise_learning.sequences.InstructionSequence
class qiskit_noise_learning.sequences.InstructionSequence(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)
Basi: BaseSequence[Instruction]
Una sequenza di istruzioni.
Parametri
- start_fragment – L'inizio della sequenza.
- repeatable_fragment – La parte centrale ripetibile della sequenza.
- end_fragment – La fine della sequenza.
- fragment_depth – Il numero di ripetizioni del frammento ripetibile.
__init__
__init__(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)
Metodi
Rubrica 1 | Rubrica 2 |
|---|---|
__init__(inizio_frammento,...[, fragment_depth]) | |
bind_at(fragment_depth) | Restituisce una nuova istanza con gli stessi frammenti associati alla profondità dei frammenti. |
complete() | Restituisce una nuova istanza i cui dati sono identici a quelli di, self con la differenza che tutte le istruzioni in essa contenute sono state eseguite. |
is_mergeable_with(altro) | Verifica se questa sequenza di istruzioni è combinabile con un’altra sequenza di istruzioni. |
merge(altro) | Unisci questa sequenza di istruzioni con un'altra sequenza di istruzioni. |
unbind() | Restituisce una nuova istanza con gli stessi frammenti, ma con la profondità dei frammenti impostata su None. |
Attributi
Rubrica 1 | Rubrica 2 |
|---|---|
end_fragment | Il frammento finale. |
fragment_depth | Il numero di ripetizioni del frammento ripetibile. |
gate_key | Un riepilogo hashable delle applicazioni dei gate presenti in questa sequenza di istruzioni. |
is_complete | Se tutte le istruzioni contenute siano state specificate in modo completo. |
is_unbound | Se la sequenza non è associata. |
repeatable_fragment | Il frammento ripetibile. |
start_fragment | Il frammento iniziale. |
structure_key | Un riepilogo hashabile della struttura delle istruzioni di questa sequenza. |
is_complete
Tipo: bool
Se tutte le istruzioni contenute siano state specificate in modo completo.
complete
complete() → Self
Restituisce una nuova istanza i cui dati sono identici a quelli di, self con la differenza che tutte le istruzioni in essa contenute sono state eseguite.
Risultati
Una nuova InstructionSequence istanza.
gate_key
Tipo: Hashable
Un riepilogo hashable delle applicazioni dei gate presenti in questa sequenza di istruzioni.
Due sequenze di istruzioni hanno chiavi di gate uguali esattamente quando hanno la stessa profondità di frammento e ciascuno dei loro frammenti applica gli stessi gate nello stesso ordine, indipendentemente da ogni altra differenza; ogni istruzione che non sia un’applicazione di gate viene ignorata. Il valore in sé è opaco; sono garantite solo l'uguaglianza e l'hashabilità.
structure_key
Tipo: Hashable
Un riepilogo hashabile della struttura delle istruzioni di questa sequenza.
Questa chiave è coperta dalle seguenti garanzie:
- Se due sequenze di istruzioni hanno chiavi diverse, non sono unificabili.
- Se due sequenze di istruzioni hanno la stessa chiave, hanno la stessa profondità di frammento e i loro frammenti contengono la stessa sequenza di tipi di istruzioni sugli stessi qubit.
Aumenti
TypeError : se questa sequenza di istruzioni contiene un oggetto che non è un'istruzione.
is_mergeable_with
is_mergeable_with(other: Self) → bool
Verifica se questa sequenza di istruzioni è combinabile con un’altra sequenza di istruzioni.
Due sequenze di istruzioni sono unificabili se hanno profondità dei frammenti compatibili e se i loro frammenti sono unificabili elemento per elemento.
Parametri
altro – L’altro InstructionSequence.
Risultati
Se questa istanza sia unificabile con un'altra.
merge
merge(other: Self) → Self
Unisci questa sequenza di istruzioni con un'altra sequenza di istruzioni.
Supponendo che questa istanza sia unificabile con other, la sequenza unificata restituita viene costruita unificando ciascun frammento corrispondente elemento per elemento.
Parametri
altro – La sequenza di istruzioni con cui eseguire l'unione.
Risultati
La fusione tra sé e l’altro.
Aumenti
ValueError : se le sequenze non sono unificabili.