QkBitTerm
enum QkBitTermUn enum che rappresenta ciascuno dei termini dell'alfabeto single-qubit enumerati di seguito.
Valori
-
QkBitTerm_XL'operatore di Pauli .
Valore: 2 (
0b0010) -
QkBitTerm_YL'operatore di Pauli .
Valore: 3 (
0b0011) -
QkBitTerm_ZL'operatore di Pauli .
Valore: 1 (
0b0001) -
QkBitTerm_PlusIl proiettore all'autostato positivo .
Valore: 10 (
0b1010) -
QkBitTerm_MinusIl proiettore all'autostato negativo .
Valore: 6 (
0b0110) -
QkBitTerm_RightIl proiettore all'autostato positivo .
Valore: 11 (
0b1011) -
QkBitTerm_LeftIl proiettore all'autostato negativo .
Valore: 7 (
0b0111) -
QkBitTerm_ZeroIl proiettore all'autostato positivo .
Valore: 9 (
0b1001) -
QkBitTerm_OneIl proiettore all'autostato negativo .
Valore: 5 (
0b0101)
Rappresentazione
L'enum è memorizzato come singolo byte e i suoi elementi sono rappresentati come numeri interi a 8 bit senza segno.
typedef uint8_t QkBitTermNon tutti i valori di uint8_t sono termini di bit validi. Il passaggio di valori non validi è un comportamento non definito.
La struttura numerica di questi è che sono tutti valori a quattro bit di cui i due bit più bassi sono la rappresentazione simplettica (senza fase) dell'operatore di Pauli relativo all'oggetto, dove il bit più basso denota un contributo di e il secondo più basso un contributo di , mentre i due bit superiori sono 00 per un operatore di Pauli, 01 per il proiettore di autovalori negativi e 10 per il proiettore di autovalori positivi.
Funzioni
qk_bitterm_label
uint8_t qk_bitterm_label(QkBitTerm bit_term)
L'etichetta per un termine di un po' di tempo.
Esempio
QkBitTerm bit_term = QkBitTerm_Y;
// cast the uint8_t to char
char label = qk_bitterm_label(bit_term);Sicurezza
Il comportamento è indefinito se bit_term non è un valore uint8_t valido di un QkBitTerm.
Parametri
- bit_term - Il termine bit.
Risultati
L'etichetta come uint8_t, che può essere lanciata a char per ottenere il carattere.