QkBitTerm
enum QkBitTermUn enum que representa cada uno de los términos del alfabeto single-qubit enumerados a continuación.
Valores
-
QkBitTerm_XEl operador Pauli .
Valor: 2 (
0b0010) -
QkBitTerm_YEl operador Pauli .
Valor: 3 (
0b0011) -
QkBitTerm_ZEl operador Pauli .
Valor: 1 (
0b0001) -
QkBitTerm_PlusEl proyector al estado propio positivo .
Valor: 10 (
0b1010) -
QkBitTerm_MinusEl proyector al estado propio negativo .
Valor: 6 (
0b0110) -
QkBitTerm_RightEl proyector al estado propio positivo .
Valor: 11 (
0b1011) -
QkBitTerm_LeftEl proyector al estado propio negativo .
Valor: 7 (
0b0111) -
QkBitTerm_ZeroEl proyector al estado propio positivo .
Valor: 9 (
0b1001) -
QkBitTerm_OneEl proyector al estado propio negativo .
Valor: 5 (
0b0101)
Representación
El enum se almacena como un único byte, sus elementos se representan como enteros de 8 bits sin signo.
typedef uint8_t QkBitTermNo todos los valores de uint8_t son términos de bits válidos. Pasar valores no válidos es un comportamiento indefinido.
La estructura numérica de éstos es que son todos valores de cuatro bits de los cuales los dos bits inferiores son la representación simpléctica (sin fase) del operador de Pauli relacionado con el objeto, donde el bit inferior denota una contribución por y el segundo inferior una contribución por , mientras que los dos bits superiores son 00 para un operador de Pauli, 01 para el proyector de estado propio negativo, y 10 para el proyector de estado propio positivo.
Funciones
qk_bitterm_label
uint8_t qk_bitterm_label(QkBitTerm bit_term)
Obtenga la etiqueta para un plazo de bits.
Ejemplo
QkBitTerm bit_term = QkBitTerm_Y;
// cast the uint8_t to char
char label = qk_bitterm_label(bit_term);Seguridad
El comportamiento es indefinido si bit_term no es un valor uint8_t válido de un QkBitTerm.
Parámetros
- bit_term - El término bit.
Devuelve
La etiqueta como uint8_t, que se puede lanzar a char para obtener el carácter.