QkBitTerm
enum QkBitTermUma enumeração que representa cada um dos termos do alfabeto de um único qubit enumerados abaixo.
Valores
-
QkBitTerm_XO operador Pauli .
Valor: 2 (
0b0010) -
QkBitTerm_YO operador Pauli .
Valor: 3 (
0b0011) -
QkBitTerm_ZO operador Pauli .
Valor: 1 (
0b0001) -
QkBitTerm_PlusO projetor para o estado próprio positivo.
Valor: 10 (
0b1010) -
QkBitTerm_MinusO projetor para o estado negativo.
Valor: 6 (
0b0110) -
QkBitTerm_RightO projetor para o estado próprio positivo.
Valor: 11 (
0b1011) -
QkBitTerm_LeftO projetor para o estado negativo.
Valor: 7 (
0b0111) -
QkBitTerm_ZeroO projetor para o estado próprio positivo.
Valor: 9 (
0b1001) -
QkBitTerm_OneO projetor para o estado negativo.
Valor: 5 (
0b0101)
Representação
O enum é armazenado como byte único e seus elementos são representados como um número inteiro de 8 bits sem sinal.
typedef uint8_t QkBitTermNem todos os valores de uint8_t são termos de bits válidos. Passar valores inválidos é um comportamento indefinido.
A estrutura numérica deles é que todos são valores de quatro bits, dos quais os dois bits inferiores são a representação simpática (sem fase) do operador de Pauli relacionado ao objeto, em que o bit inferior denota uma contribuição de e o segundo inferior uma contribuição de , enquanto os dois bits superiores são 00 para um operador de Pauli, 01 para o projetor de estado próprio negativo e 10 para o projetor de estado próprio positivo.
Funções
qk_bitterm_label
uint8_t qk_bitterm_label(QkBitTerm bit_term)
Obtenha o rótulo por um período curto.
Exemplo
QkBitTerm bit_term = QkBitTerm_Y;
// cast the uint8_t to char
char label = qk_bitterm_label(bit_term);Segurança
O comportamento é indefinido se bit_term não for um valor uint8_t válido de um QkBitTerm.
Parâmetros
- bit_term - O termo de bit.
Retorna
O rótulo como uint8_t, que pode ser convertido em char para obter o caractere.