QkBitTerm
enum QkBitTermEine Aufzählung, die jeden der unten aufgezählten Begriffe des Ein-Qubit-Alphabets darstellt.
Werte
-
QkBitTerm_XDer Pauli Operator.
Wert: 2 (
0b0010) -
QkBitTerm_YDer Pauli Operator.
Wert: 3 (
0b0011) -
QkBitTerm_ZDer Pauli Operator.
Wert: 1 (
0b0001) -
QkBitTerm_PlusDer Projektor zeigt den positiven Eigenzustand an.
Wert: 10 (
0b1010) -
QkBitTerm_MinusDer Projektor zeigt den negativen Eigenzustand an.
Wert: 6 (
0b0110) -
QkBitTerm_RightDer Projektor zeigt den positiven Eigenzustand an.
Wert: 11 (
0b1011) -
QkBitTerm_LeftDer Projektor zeigt den negativen Eigenzustand an.
Wert: 7 (
0b0111) -
QkBitTerm_ZeroDer Projektor zeigt den positiven Eigenzustand an.
Wert: 9 (
0b1001) -
QkBitTerm_OneDer Projektor zeigt den negativen Eigenzustand an.
Wert: 5 (
0b0101)
Darstellung
Die Aufzählung wird als einzelnes Byte gespeichert, ihre Elemente werden als vorzeichenlose 8-Bit-Ganzzahl dargestellt.
typedef uint8_t QkBitTermNicht alle uint8_t Werte sind gültige Bit-Terme. Die Übergabe von ungültigen Werten ist ein undefiniertes Verhalten.
Die numerische Struktur dieser Werte besteht darin, dass es sich um Vier-Bit-Werte handelt, von denen die unteren beiden Bits die (phasenlose) symplektische Darstellung des Pauli-Operators in Bezug auf das Objekt darstellen, wobei das untere Bit einen Beitrag von und das zweitniedrigste einen Beitrag von bezeichnet, während die oberen beiden Bits 00 für einen Pauli-Operator, 01 für den Projektor des negativen Eigenzustands und 10 für den Projektor des positiven Eigenzustands sind.
Funktionen
qk_bitterm_label
uint8_t qk_bitterm_label(QkBitTerm bit_term)
Holen Sie sich das Etikett für einen kurzen Zeitraum.
Beispiel
QkBitTerm bit_term = QkBitTerm_Y;
// cast the uint8_t to char
char label = qk_bitterm_label(bit_term);Sicherheit
Das Verhalten ist undefiniert, wenn bit_term kein gültiger uint8_t Wert eines QkBitTerm ist.
Parameter
- bit_term - Der Bit-Term.
Rückgabe
Die Beschriftung als uint8_t, die in char umgewandelt werden kann, um das Zeichen zu erhalten.