MeasureReset
class MeasureReset(name='measure_reset', label=None)
Bases : Instruction
Une réinitialisation qui révèle la mesure qu'elle effectue en interne.
Cette instruction met en œuvre une opération de réinitialisation dont le résultat de mesure intermédiaire est enregistré dans un bit classique, ce qui permet à l'utilisateur de l'observer. Il utilise un bit quantique et un bit classique; son nom permet de l'associer à une implémentation correspondante au niveau matériel et doit commencer par measure_reset.
Le principe est le suivant : mesurer le qubit pour le convertir en bit classique, puis, sous certaines conditions, ramener le qubit à son état initial |0> — c'est-à-dire une réinitialisation dont le résultat de la mesure est conservé.
Les paramètres et duration unit sont obsolètes depuis la version 1.3 de Qiskit, et ils seront supprimés dans la version 2.0 ou une version ultérieure. La durée d'une instruction est définie dans l'objet « Target » d'un backend.
Paramètres
- name (str) – nom de l'instruction
- num_qubits (int) – largeur en qubits de l'instruction
- num_clbits (int) – largeur en bits du CLBIT de l'instruction
- params (list[int|float|complex|str|ndarray|list|ParameterExpression]) – liste des paramètres
- label (str or None) – Une étiquette facultative permettant d'identifier l'instruction.
Augmentations
- CircuitError – lorsque le registre n'est pas au format requis.
- TypeError – lorsque l'étiquette facultative est fournie, mais qu'il ne s'agit pas d'une chaîne de caractères.
Attributs
base_class
Récupérer la classe de base de cette instruction. On peut être sûr que cela figure dans l'arbre généalogique de self.
La « classe de base » d’une instruction est la classe la plus basse de son arbre d’héritage avec laquelle l’objet doit être considéré comme entièrement compatible pour toutes les applications de circuit. Cela signifie généralement que la sous-classe est définie uniquement pour offrir une certaine facilité d'utilisation au programmeur par rapport à la classe de base, et que cette dernière est la « véritable » classe d'un point de vue comportemental. En particulier, vous ne devez pas redéfinir base_class si vous définissez une version personnalisée d'une instruction qui sera mise en œuvre différemment par le matériel, comme une stratégie de mesure alternative, ou une version d'une porte paramétrée avec un ensemble particulier de paramètres afin de la distinguer dans un Target de la porte entièrement paramétrée.
Cela revient souvent exactement à type(obj), sauf dans le cas d'instances uniques d'instructions de la bibliothèque standard. Ces instances singleton sont des sous-classes spéciales de leur classe de base, et cette propriété renverra cette classe de base. Par exemple :
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
TrueD'une manière générale, il ne faut pas se fier à la classe précise d'une instruction; au sein d'un circuit donné, on considère que Instruction.name devrait constituer un critère de distinction plus approprié dans la plupart des situations.
decompositions
Récupérez les décompositions de l'instruction à partir de l' SessionEquivalenceLibrary.
definition
Définir la fonction de retour en termes d'autres portes logiques de base.
label
Étiquette d'instructions de retour
mutable
Cette instance est-elle une instance unique modifiable ou non?
Si cet attribut est défini, False l'instance de la porte est un singleton partagé et n'est pas modifiable.
name
Renvoie le nom.
num_clbits
Renvoie le nombre de clbits.
num_qubits
Renvoie le nombre de qubits.
params
Les paramètres de ce Instruction. Idéalement, il s'agira d'angles de portail.
Méthodes
add_decomposition
add_decomposition(decomposition)
Ajoutez une décomposition de l'instruction à l' SessionEquivalenceLibrary e.
broadcast_arguments
broadcast_arguments(qargs, cargs)
Validation des arguments.
Paramètres
- qargs (List) – Liste des arguments relatifs aux bits quantiques.
- cargs (List) – Liste des arguments de bits classiques.
Rendements
Tuple(Liste, Liste) – Un tuple à un seul argument.
Augmentations
CircuitError – Si la saisie n'est pas valide. Par exemple, le nombre d'arguments ne correspond pas à ce qu'on attend de la porte logique.
copy
copy(name=None)
Copie de la notice.
Paramètres
name (str) – nom à attribuer au circuit copié; si alors None le nom reste le même.
Retours
une copie de l'instruction actuelle, avec le nom mis à jour s'il a été fourni
Type de retour
inverse
inverse(annotated=False)
Inversez cette instruction.
Si « annotated » vaut « False », l'instruction inverse est implémentée sous la forme d'une nouvelle instruction dont la définition est inversée de manière récursive.
Si la valeur de « annotated » est « True », l'instruction inverse est implémentée sous la forme AnnotatedOperation, et correspond à l'instruction donnée annotée avec le « modificateur inverse ».
Les instructions spéciales dérivées de l'instruction « Instruction » peuvent implémenter leur propre inverse (par exemple : T et Tdg, Barrier, etc.) Ils peuvent notamment choisir la manière de traiter cet argument, ce qui annotated peut notamment consister à l'ignorer et à toujours renvoyer une classe de porte concrète si l'inverse est défini comme une porte standard.
Paramètres
annotated (bool) – Si cette option est définie sur True, la porte inverse de sortie sera renvoyée sous la forme AnnotatedOperation.
Retours
L'opération inverse.
Augmentations
CircuitError – si l'instruction n'est pas composite et qu'aucune inverse n'a été implémentée pour celle-ci.
is_parameterized
is_parameterized()
Indique si la fonction contient Instruction des paramètres définis à la compilation.
repeat
repeat(n)
Crée une instruction répétée self fois.
Paramètres
n (int) – Nombre de fois où l'instruction doit être répétée
Retours
Contenant la définition.
Type de retour
Augmentations
CircuitError – Si n < 1.
reverse_ops
reverse_ops()
Pour une instruction composite, inversez l'ordre des sous-instructions.
Pour ce faire, on inverse de manière récursive toutes les sous-instructions. Elle n'inverse aucune porte logique.
Retours
une nouvelle instruction avec
les sous-instructions ont été inversées.
Type de retour
soft_compare
soft_compare(other)
Comparaison « douce » entre les portes logiques. Leurs noms, leur nombre de qubits et leur nombre de bits classiques doivent correspondre. Le nombre de paramètres doit correspondre. Chaque paramètre est comparé. Si l'on est un « ParameterExpression », cela n'est pas pris en compte.
Paramètres
other (instruction) – autre instruction.
Retours
« self » et « other » sont équivalents, sauf au niveau des expressions de paramètres.
Type de retour
booléen
to_mutable
to_mutable()
Renvoie une copie modifiable de cette porte.
Cette méthode renvoie une nouvelle copie modifiable de cette instance de porte. Si une instance singleton est utilisée, il s'agira d'une nouvelle instance unique pouvant être modifiée. Si l'instance est déjà modifiable, il s'agira d'une copie en profondeur de cette instance.
validate_parameter
validate_parameter(parameter)
Le paramètre d'instruction ne fait l'objet d'aucune validation ni normalisation.