Skip to main content
IBM Quantum Platform

QkBitTerm

enum QkBitTerm

Une énumération qui représente chacun des termes de l'alphabet à qubit unique énumérés ci-dessous.


Valeurs

  • QkBitTerm_X

    L'opérateur Pauli XX.

    Valeur : 2 (0b0010)

  • QkBitTerm_Y

    L'opérateur Pauli YY.

    Valeur : 3 (0b0011)

  • QkBitTerm_Z

    L'opérateur Pauli ZZ.

    Valeur : 1 (0b0001)

  • QkBitTerm_Plus

    Le projecteur ++\lvert +\rangle\langle +\rvert à l'état propre positif XX.

    Valeur : 10 (0b1010)

  • QkBitTerm_Minus

    Le projecteur \lvert -\rangle\langle -\rvert à l'état propre négatif XX.

    Valeur : 6 (0b0110)

  • QkBitTerm_Right

    Le projecteur rr\lvert r\rangle\langle r\rvert à l'état propre positif YY.

    Valeur : 11 (0b1011)

  • QkBitTerm_Left

    Le projecteur ll\lvert l\rangle\langle l\rvert à l'état propre négatif YY.

    Valeur : 7 (0b0111)

  • QkBitTerm_Zero

    Le projecteur 00\lvert 0\rangle\langle 0\rvert à l'état propre positif ZZ.

    Valeur : 9 (0b1001)

  • QkBitTerm_One

    Le projecteur 11\lvert 1\rangle\langle 1\rvert à l'état propre négatif ZZ.

    Valeur : 5 (0b0101)


Représentation

L'énumération est stockée sur un seul octet et ses éléments sont représentés par des entiers non signés de 8 bits.

typedef uint8_t QkBitTerm
Avertissement

Toutes les valeurs de uint8_t ne sont pas des termes binaires valables. Le passage de valeurs non valides est un comportement non défini.

La structure numérique de ces valeurs est la suivante : il s'agit de valeurs sur quatre bits dont les deux bits inférieurs sont la représentation symplectique (sans phase) de l'opérateur de Pauli lié à l'objet, où le bit inférieur indique une contribution de ZZ et le deuxième bit inférieur une contribution de XX, tandis que les deux bits supérieurs sont 00 pour un opérateur de Pauli, 01 pour le projecteur d'état propre négatif et 10 pour le projecteur d'état propre positif.


Fonctions

qk_bitterm_label

uint8_t qk_bitterm_label(QkBitTerm bit_term)

Obtenir l'étiquette pour une durée limitée.

Exemple

QkBitTerm bit_term = QkBitTerm_Y;
// cast the uint8_t to char
char label = qk_bitterm_label(bit_term);

Sécurité

Le comportement est indéfini si bit_term n'est pas une valeur valide uint8_t d'un QkBitTerm.

Paramètres

  • bit_term - Le terme bit.

Retours

L'étiquette est uint8_t, qui peut être transformée en char pour obtenir le caractère.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.