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)
Bases : BaseSequence[Instruction]
Une séquence d'instructions.
Paramètres
- start_fragment – Le début de la séquence.
- repeatable_fragment – La partie centrale répétable de la séquence.
- end_fragment – Fin de la séquence.
- fragment_depth – Nombre de répétitions du fragment répétable.
__init__
__init__(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)
Méthodes
Chronique « 1 » | Chronique « 2 » |
|---|---|
__init__(début_fragment,...[, fragment_depth]) | |
bind_at(fragment_depth) | Renvoie une nouvelle instance avec les mêmes fragments liés à la profondeur des fragments. |
complete() | Renvoie une nouvelle instance dont les données sont identiques à celles de, à l'exception self du fait que toutes les instructions qu'elle contient sont exécutées. |
is_mergeable_with(autre) | Vérifiez si cette séquence d'instructions peut être fusionnée avec une autre séquence d'instructions. |
merge(autre) | Fusionnez cette séquence d'instructions avec une autre séquence d'instructions. |
unbind() | Renvoie une nouvelle instance contenant les mêmes fragments, mais dont la profondeur des fragments est définie sur None. |
Attributs
Chronique « 1 » | Chronique « 2 » |
|---|---|
end_fragment | Le fragment final. |
fragment_depth | Le nombre de répétitions du fragment répétable. |
gate_key | Un résumé pouvant faire l'objet d'un hachage des applications de porte contenues dans cette séquence d'instructions. |
is_complete | Vérifier si toutes les instructions contenues sont entièrement spécifiées. |
is_unbound | Si la séquence n'est pas liée. |
repeatable_fragment | Le fragment répétable. |
start_fragment | Le fragment initial. |
structure_key | Un résumé hashable de la structure d'instructions de cette séquence. |
is_complete
Type : bool
Vérifier si toutes les instructions contenues sont entièrement spécifiées.
complete
complete() → Self
Renvoie une nouvelle instance dont les données sont identiques à celles de, à l'exception self du fait que toutes les instructions qu'elle contient sont exécutées.
Retours
Une nouvelle instance InstructionSequence .
gate_key
Type : Hashable
Un résumé pouvant faire l'objet d'un hachage des applications de porte contenues dans cette séquence d'instructions.
Deux séquences d'instructions ont des clés de porte identiques si et seulement si elles ont la même profondeur de fragment et si chacun de leurs fragments applique les mêmes portes dans le même ordre, quelles que soient leurs autres différences; toute instruction qui n'est pas une application de porte est ignorée. La valeur elle-même est opaque; seules l'égalité et la hachabilité sont garanties.
structure_key
Type : Hashable
Un résumé hashable de la structure d'instructions de cette séquence.
Cette clé bénéficie des garanties suivantes :
- Si deux séquences d'instructions ont des clés différentes, elles ne peuvent pas être fusionnées.
- Si deux séquences d'instructions ont la même clé, elles ont la même profondeur de fragment, et leurs fragments contiennent la même séquence de types d'instructions sur les mêmes qubits.
Augmentations
TypeError : si cette séquence d'instructions contient un objet qui n'est pas une instruction.
is_mergeable_with
is_mergeable_with(other: Self) → bool
Vérifiez si cette séquence d'instructions peut être fusionnée avec une autre séquence d'instructions.
Deux séquences d'instructions sont fusionnables si leurs profondeurs de fragments sont compatibles et si leurs fragments sont fusionnables élément par élément.
Paramètres
autre – L'autre InstructionSequence.
Retours
Si cette instance peut être fusionnée avec une autre.
merge
merge(other: Self) → Self
Fusionnez cette séquence d'instructions avec une autre séquence d'instructions.
En supposant que cette instance puisse être fusionnée avec other, la séquence fusionnée renvoyée est construite en fusionnant chaque fragment correspondant élément par élément.
Paramètres
autre – La séquence d'instructions à fusionner avec celle-ci.
Retours
La fusion entre soi et l'autre.
Augmentations
ValueError : si les séquences ne peuvent pas être fusionnées.