Portas lógicas quânticas comuns por nome (incluindo abreviatura), forma(s) de circuito e as matrizes unitárias correspondentes

Em computação quântica e especificamente no modelo de circuito de computação, uma porta lógica quântica (ou simplesmente porta quântica) é um circuito quântico básico que opera em um pequeno número de qubits. Portas lógicas quânticas são os blocos de construção de circuitos quânticos, assim como portas lógicas clássicas são para circuitos digitais convencionais.

Ao contrário de muitas portas lógicas clássicas, as portas lógicas quânticas são reversíveis. É possível realizar computação clássica usando apenas portas reversíveis. Por exemplo, a porta de Toffoli reversível pode implementar todas as funções booleanas, muitas vezes ao custo de ter que usar bits ancilla. A porta de Toffoli tem um equivalente quântico direto, mostrando que circuitos quânticos podem realizar todas as operações realizadas por circuitos clássicos.

Portas quânticas são operadores unitários e são descritas como matrizes unitárias em relação a alguma base ortonormal base. Normalmente a base computacional é usada, o que, a menos que comparando com algo, significa apenas que para um sistema quântico de nível d (como um qubit, um registrador quântico, ou qutrits e qudits)[1] os vetores da base ortonormal são rotulados , ou usa-se a notação binária.

História

editar

A notação atual para portas quânticas foi desenvolvida por muitos dos fundadores da ciência da informação quântica, incluindo Adriano Barenco, Charles Bennett, Richard Cleve, David P. DiVincenzo, Norman Margolus, Peter Shor, Tycho Sleator, John A. Smolin e Harald Weinfurter,[2] com base na notação introduzida por Richard Feynman em 1986.[3]

Representação

editar
Estados de um único qubit que não são emaranhados e não possuem fase global podem ser representados como pontos na superfície da esfera de Bloch, escritos como
Rotações em torno dos eixos x, y, z da esfera de Bloch são representadas pelas portas de operador de rotação.

Portas lógicas quânticas são representadas por matrizes unitárias. Uma porta que atua em qubits (um registrador) é representada por uma matriz unitária , e o conjunto de todas essas portas com a operação de grupo de multiplicação de matrizes[a] é o grupo unitário U(2n).[2] Os estados quânticos sobre os quais as portas atuam são vetores unitários em dimensões complexas, com a norma euclidiana complexa (a 2-norma).[4][5] Os vetores de base (às vezes chamados de autoestados) são os resultados possíveis se o estado dos qubits for medido, e um estado quântico é uma combinação linear desses resultados. As portas quânticas mais comuns operam em espaços vetoriais de um ou dois qubits, assim como as portas lógicas clássicas comuns operam em um ou dois bits.

Mesmo que as portas lógicas quânticas pertençam a grupos de simetria contínua, o hardware real é inexato e, portanto, limitado em precisão. A aplicação de portas tipicamente introduz erros, e as fidelidades dos estados quânticos diminuem ao longo do tempo. Se a correção de erros for usada, as portas utilizáveis são ainda mais restritas a um conjunto finito.[4][1] Mais adiante neste artigo, isso é ignorado, pois o foco está nas propriedades ideais das portas quânticas.

Estados quânticos são tipicamente representados por "kets", a partir de uma notação conhecida como bra-ket.

A representação vetorial de um único qubit é

Aqui, e são as amplitudes de probabilidade complexas do qubit. Esses valores determinam a probabilidade de medir um 0 ou um 1, ao medir o estado do qubit. Veja medição abaixo para detalhes.

O valor zero é representado pelo ket , e o valor um é representado pelo ket .

O produto tensorial (ou produto de Kronecker) é usado para combinar estados quânticos. O estado combinado para um registrador de qubits é o produto tensorial dos qubits constituintes. O produto tensorial é denotado pelo símbolo .

A representação vetorial de dois qubits é:[6]

A ação da porta em um estado quântico específico é encontrada multiplicando o vetor , que representa o estado pela matriz que representa a porta. O resultado é um novo estado quântico :

Relação com o operador de evolução temporal

editar

A equação de Schrödinger descreve como sistemas quânticos que não são observados evoluem ao longo do tempo, e é Quando o sistema está em um ambiente estável, de modo que tem um Hamiltoniano constante, a solução para esta equação é [1] Se o tempo é sempre o mesmo, pode ser omitido por simplicidade, e a maneira como os estados quânticos evoluem pode ser descrita como assim como na seção acima.

Ou seja, uma porta quântica é como um sistema quântico que não é observado evolui durante algum tempo específico, ou equivalentemente, uma porta é o operador unitário de evolução temporal agindo em um estado quântico por uma duração específica.

Exemplos notáveis

editar

Existe um número infinitamente incontável de portas. Algumas delas foram nomeadas por vários autores,[1][2][4][5][7][8][9] e abaixo seguem algumas das mais frequentemente usadas na literatura.

Porta identidade

editar

A porta identidade é a matriz identidade, geralmente escrita como I, e é definida para um único qubit como

onde I é independente da base e não modifica o estado quântico. A porta identidade é mais útil ao descrever matematicamente o resultado de várias operações de porta ou ao discutir circuitos multi-qubit.

Portas de Pauli (X, Y, Z)

editar
Portas quânticas (de cima para baixo): Porta identidade, porta NOT, Pauli Y, Pauli Z

As portas de Pauli são as três matrizes de Pauli e atuam em um único qubit. As Pauli X, Y e Z equivalem, respectivamente, a uma rotação em torno dos eixos x, y e z da esfera de Bloch por radianos.[b]

A porta Pauli-X é o equivalente quântico da porta NOT para computadores clássicos em relação à base padrão , , que distingue o eixo z na esfera de Bloch. Às vezes é chamada de inversão de bit, pois mapeia para e para . Similarmente, a Pauli-Y mapeia para e para . Pauli Z deixa o estado base inalterado e mapeia para . Devido a essa natureza, Pauli Z é às vezes chamada de inversão de fase.

Essas matrizes são geralmente representadas como

As matrizes de Pauli são involutórias, o que significa que o quadrado de uma matriz de Pauli é a matriz identidade.

As matrizes de Pauli também anticomutam, por exemplo

A exponencial de matriz de uma matriz de Pauli é uma porta de rotação, frequentemente escrita como

Portas controladas

editar
Representação de circuito da porta controlada-U

Portas controladas atuam em 2 ou mais qubits, onde um ou mais qubits atuam como controle para alguma operação.[2] Por exemplo, a porta NOT controlada (ou CNOT ou CX) atua em 2 qubits e realiza a operação NOT no segundo qubit apenas quando o primeiro qubit é , e caso contrário o deixa inalterado. Com relação à base , , , , é representada pela matriz hermitiana unitária:

A porta CNOT (ou Pauli-X controlada) pode ser descrita como a porta que mapeia os estados base , onde é XOR.

A CNOT pode ser expressa na base de Pauli como:

Sendo um operador unitário hermitiano, a CNOT tem a propriedade de que e , e é involutória.

Mais geralmente, se U é uma porta que opera em um único qubit com representação matricial

então a porta controlada-U é uma porta que opera em dois qubits de tal forma que o primeiro qubit serve como controle. Ela mapeia os estados base como segue.

Diagramas de circuito das portas de Pauli controladas (da esquerda para a direita): CNOT (ou controlada-X), controlada-Y e controlada-Z.

A matriz que representa a U controlada é

Quando U é um dos operadores de Pauli, X, Y, Z, os respectivos termos "controlada-X", "controlada-Y" ou "controlada-Z" são às vezes usados.[4] Às vezes isso é abreviado para CX, CY e CZ.

Em geral, qualquer porta unitária de um único qubit pode ser expressa como , onde H é uma matriz hermitiana, e então a U controlada é

O controle pode ser estendido para portas com número arbitrário de qubits[2] e funções em linguagens de programação.[10] Funções podem ser condicionadas em estados de superposição.[11][12]

Controle clássico

editar
Exemplo: O qubit é medido, e o resultado desta medição é um valor booleano, que é consumido pelo computador clássico. Se medir 1, então o computador clássico instrui o computador quântico a aplicar a porta U em .
Em diagramas de circuito, linhas simples são qubits, e linhas duplas são bits.

Portas também podem ser controladas por lógica clássica. Um computador quântico é controlado por um computador clássico e se comporta como um coprocessador que recebe instruções do computador clássico sobre quais portas executar em quais qubits.[13][14] O controle clássico é simplesmente a inclusão, ou omissão, de portas na sequência de instruções para o computador quântico.[4][1] Realizar medições no meio de um circuito quântico, em oposição ao final dele, é difícil e tecnicamente desafiador devido a problemas de temporização e decoerência. Por causa disso, nem todos os computadores quânticos suportam essas instruções condicionais clássicas, onde dados quânticos são convertidos em bits, que então controlam o fluxo do programa.[15][16]

Portas de deslocamento de fase

editar

O deslocamento de fase é uma família de portas de um único qubit que mapeiam os estados base e . A probabilidade de medir um ou permanece inalterada após aplicar esta porta, no entanto ela modifica a fase do estado quântico. Isso é equivalente a traçar um círculo horizontal (uma linha de latitude constante), ou uma rotação em torno do eixo z na esfera de Bloch por radianos. A porta de deslocamento de fase é representada pela matriz:

onde é o deslocamento de fase com o período . Alguns exemplos comuns são a porta T onde (historicamente conhecida como a porta ), a porta de fase (também conhecida como porta S, escrita como S, embora S seja às vezes usada para portas SWAP) onde e a porta Pauli-Z onde

As portas de deslocamento de fase estão relacionadas entre si da seguinte forma:

Observe que a porta de fase não é hermitiana (exceto para todos ). Essas portas são diferentes de seus conjugados hermitianos: . As duas portas adjuntas (ou transposta conjugada) e às vezes são incluídas em conjuntos de instruções.[17][18]

Porta de Hadamard

editar

A porta de Hadamard ou Walsh-Hadamard, nomeada em homenagem a Jacques Hadamard (fr) e Joseph L. Walsh, atua em um único qubit. Ela mapeia os estados base e (cria um estado de superposição igual se for dado um estado da base computacional). Os dois estados e são às vezes escritos como e respectivamente. A porta de Hadamard realiza uma rotação de em torno do eixo na esfera de Bloch e, portanto, é involutória. É representada pela matriz de Hadamard:

Representação de circuito da porta de Hadamard

Se a porta de Hadamard hermitiana (portanto ) é usada para realizar uma mudança de base, ela inverte e . Por exemplo, e

Porta SWAP

editar
Representação de circuito da porta SWAP

A porta SWAP troca dois qubits. Com relação à base , , , , é representada pela matriz

A porta SWAP pode ser decomposta na forma de soma:

Porta de Toffoli (CCNOT)

editar
Representação de circuito da porta de Toffoli

A porta de Toffoli, nomeada em homenagem a Tommaso Toffoli e também chamada de porta CCNOT ou porta de Deutsch , é uma porta de 3 bits que é universal para computação clássica, mas não para computação quântica. A porta quântica de Toffoli é a mesma porta, definida para 3 qubits. Se nos limitarmos a aceitar apenas qubits de entrada que são e , então se os dois primeiros bits estiverem no estado ela aplica uma Pauli-X (ou NOT) no terceiro bit, caso contrário não faz nada. É um exemplo de porta CC-U (Unidade controlada-controlada). Como é o análogo quântico de uma porta clássica, é completamente especificada por sua tabela verdade. A porta de Toffoli é universal quando combinada com a porta de Hadamard de um único qubit.[19]

Tabela verdade Forma matricial
Entrada Saída
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 1
1 1 1 1 1 0

A porta de Toffoli está relacionada às operações clássicas AND () e XOR (), pois realiza o mapeamento em estados na base computacional.

A porta de Toffoli pode ser expressa usando matrizes de Pauli como

Portas quânticas universais

editar
Tanto CNOT quanto são portas universais de dois qubits e podem ser transformadas uma na outra

Um conjunto de portas quânticas universais é qualquer conjunto de portas para o qual qualquer operação possível em um computador quântico pode ser reduzida, ou seja, qualquer outra operação unitária pode ser expressa como uma sequência finita de portas do conjunto. Tecnicamente, isso é impossível com algo menos do que um conjunto incontável de portas, pois o número de portas quânticas possíveis é incontável, enquanto o número de sequências finitas de um conjunto finito é contável. Para resolver este problema, exigimos apenas que qualquer operação quântica possa ser aproximada por uma sequência de portas deste conjunto finito. Além disso, para unitárias em um número constante de qubits, o teorema de Solovay–Kitaev garante que isso pode ser feito eficientemente. Verificar se um conjunto de portas quânticas é universal pode ser feito usando métodos de teoria dos grupos[20] e/ou relação com t-designs unitários (aproximados).[21] A conjectura do gap espectral, se verdadeira, implicaria que um conjunto de portas quânticas genericamente escolhido é eficientemente universal.

Alguns conjuntos de portas quânticas universais incluem:

  • Os operadores de rotação Rx(θ), Ry(θ), Rz(θ), a porta de deslocamento de fase P(φ)[c] e a porta CNOT são comumente usadas para formar um conjunto universal de portas quânticas.[22][d]
  • O conjunto Clifford {CNOT, H, S} + porta T. O conjunto Clifford sozinho não é um conjunto universal de portas quânticas, pois pode ser simulado eficientemente classicamente de acordo com o teorema de Gottesman–Knill.
  • A porta de Toffoli + porta de Hadamard.[19] A porta de Toffoli sozinha forma um conjunto de portas universais para circuitos de lógica booleana reversível, que abrange toda a computação clássica.

Porta de Deutsch

editar

Um conjunto de portas universais de porta única também pode ser formulado usando a porta de Deutsch parametrizada de três qubits ,[23] nomeada em homenagem ao físico David Deutsch. É um caso geral de CC-U, ou porta unidade controlada-controlada, e é definida como

Infelizmente, uma porta de Deutsch funcional permanece inatingível, devido à falta de um protocolo. Existem algumas propostas para realizar uma porta de Deutsch com interação dipolo-dipolo em átomos neutros.[24]

Uma porta lógica universal para computação clássica reversível, a porta de Toffoli, é redutível à porta de Deutsch , mostrando assim que todas as operações lógicas clássicas reversíveis podem ser realizadas em um computador quântico universal.

Também existem portas únicas de dois qubits suficientes para universalidade. Em 1996, Adriano Barenco mostrou que a porta de Deutsch pode ser decomposta usando apenas uma única porta de dois qubits (porta de Barenco), mas é difícil de realizar experimentalmente.[1] Esta característica é exclusiva de circuitos quânticos, pois não há porta clássica de dois bits que seja simultaneamente reversível e universal.[1] Portas universais de dois qubits poderiam ser implementadas para melhorar circuitos reversíveis clássicos em microprocessadores rápidos e de baixa potência.[1]

Composição de circuitos

editar

Portas em série

editar
Duas portas Y e X em série. A ordem em que elas aparecem no fio é invertida quando multiplicadas

Suponha que temos duas portas A e B que ambas atuam em qubits. Quando B é colocada após A em um circuito em série, então o efeito das duas portas pode ser descrito como uma única porta C.

onde é multiplicação de matrizes. A porta resultante C terá as mesmas dimensões que A e B. A ordem em que as portas apareceriam em um diagrama de circuito é invertida quando multiplicadas.[4]:17–18,22–23,62–64[5]:147–169

Por exemplo, colocando a porta Pauli X após a porta Pauli Y, ambas atuando em um único qubit, pode ser descrito como uma única porta combinada C:

O símbolo do produto () é frequentemente omitido.

Expoentes de portas quânticas

editar

Todos os expoentes reais de matrizes unitárias também são matrizes unitárias, e todas as portas quânticas são matrizes unitárias.

Expoentes inteiros positivos são equivalentes a sequências de portas em série (por exemplo, ), e os expoentes reais são uma generalização do circuito em série. Por exemplo, e são ambas portas quânticas válidas.

para qualquer matriz unitária . A matriz identidade () se comporta como um NOP[25][26] e pode ser representada como fio simples em circuitos quânticos, ou não mostrada.

Todas as portas são matrizes unitárias, de modo que e , onde é a transposta conjugada. Isso significa que expoentes negativos de portas são inversos unitários de suas contrapartes exponenciadas positivamente: . Por exemplo, alguns expoentes negativos das portas de deslocamento de fase são e .

Observe que para uma matriz hermitiana e devido à unitariedade, então para todas as portas hermitianas. Elas são involutórias. Exemplos de portas hermitianas são as portas de Pauli, Hadamard, CNOT, SWAP e Toffoli. Cada matriz unitária hermitiana tem a propriedade de que onde

O expoente de uma porta é um múltiplo da duração do tempo que o operador de evolução temporal é aplicado a um estado quântico. Por exemplo, em um computador quântico de spin qubit, a porta poderia ser realizada via interação de troca no spin de dois elétrons pela metade da duração de uma interação de troca completa.[27]

Portas em paralelo

editar
Duas portas e em paralelo é equivalente à porta

O produto tensorial (ou produto de Kronecker) de duas portas quânticas é a porta que é igual às duas portas em paralelo.[4][5]

Se, como na figura, combinarmos a porta Pauli-Y com a porta Pauli-X em paralelo, isso pode ser escrito como:

Tanto a porta Pauli-X quanto a Pauli-Y atuam em um único qubit. A porta resultante atua em dois qubits.

Às vezes, o símbolo do produto tensorial é omitido, e índices são usados para os operadores.[27]

Transformada de Hadamard

editar

A porta é a porta de Hadamard () aplicada em paralelo em 2 qubits. Pode ser escrita como:

Esta "porta de Hadamard paralela de dois qubits", quando aplicada, por exemplo, ao vetor zero de dois qubits (), criará um estado quântico que tem igual probabilidade de ser observado em qualquer um de seus quatro resultados possíveis; , , , e . Podemos escrever esta operação como:

Exemplo: A transformada de Hadamard em um registrador de 3 qubits .

Aqui a amplitude para cada estado mensurável é 12. A probabilidade de observar qualquer estado é o quadrado do valor absoluto da amplitude dos estados mensuráveis, o que no exemplo acima significa que há uma em quatro chances de observarmos qualquer um dos quatro casos individuais. Veja medição para detalhes.

realiza a transformada de Hadamard em dois qubits. Similarmente, a porta realiza uma transformada de Hadamard em um registrador de qubits.

Quando aplicada a um registrador de qubits todos inicializados para , a transformada de Hadamard coloca o registrador quântico em uma superposição com igual probabilidade de ser medido em qualquer um de seus estados possíveis:

Este estado é uma superposição uniforme e é gerado como o primeiro passo em alguns algoritmos de busca, por exemplo em amplificação de amplitude e estimação de fase.

Medir este estado resulta em um número aleatório entre e .[e] O quão aleatório é o número depende da fidelidade das portas lógicas. Se não medido, é um estado quântico com igual amplitude de probabilidade para cada um de seus estados possíveis.

A transformada de Hadamard atua em um registrador com qubits tal que da seguinte forma:

Aplicação em estados emaranhados

editar

Se dois ou mais qubits são vistos como um único estado quântico, este estado combinado é igual ao produto tensorial dos qubits constituintes. Qualquer estado que pode ser escrito como um produto tensorial dos subsistemas constituintes é chamado de estado separável. Por outro lado, um estado emaranhado é qualquer estado que não pode ser fatorado por produto tensorial, ou em outras palavras: Um estado emaranhado não pode ser escrito como um produto tensorial dos estados de seus qubits constituintes. Deve-se tomar cuidado especial ao aplicar portas a qubits constituintes que compõem estados emaranhados.

Se temos um conjunto de N qubits que estão emaranhados e desejamos aplicar uma porta quântica em M < N qubits do conjunto, teremos que estender a porta para tomar N qubits. Esta aplicação pode ser feita combinando a porta com uma matriz identidade de modo que seu produto tensorial se torne uma porta que atua em N qubits. A matriz identidade () é uma representação da porta que mapeia cada estado para si mesmo (ou seja, não faz nada). Em um diagrama de circuito, a porta identidade ou matriz frequentemente aparecerá como apenas um fio simples.

O exemplo dado no texto. A porta de Hadamard atua apenas em 1 qubit, mas é um estado quântico emaranhado que abrange 2 qubits. Em nosso exemplo,

Por exemplo, a porta de Hadamard () atua em um único qubit, mas se a alimentarmos com o primeiro dos dois qubits que constituem o estado emaranhado de Bell , não podemos escrever essa operação facilmente. Precisamos estender a porta de Hadamard com a porta identidade para que possamos atuar em estados quânticos que abrangem dois qubits:

A porta agora pode ser aplicada a qualquer estado de dois qubits, emaranhado ou não. A porta deixará o segundo qubit intocado e aplicará a transformada de Hadamard ao primeiro qubit. Se aplicada ao estado de Bell em nosso exemplo, podemos escrever que:

Complexidade computacional e o produto tensorial

editar

A complexidade de tempo para multiplicar duas matrizes é pelo menos ,[28] se usando uma máquina clássica. Como o tamanho de uma porta que opera em qubits é , isso significa que o tempo para simular um passo em um circuito quântico (multiplicando as portas) que opera em estados emaranhados genéricos é . Por esta razão, acredita-se ser intratável simular grandes sistemas quânticos emaranhados usando computadores clássicos. Subconjuntos de portas, como as portas de Clifford, ou o caso trivial de circuitos que apenas implementam funções booleanas clássicas (ex.: combinações de X, CNOT, Toffoli), podem no entanto ser eficientemente simulados em computadores clássicos.

O vetor de estado de um registrador quântico com qubits tem entradas complexas. Armazenar as amplitudes de probabilidade como uma lista de valores de ponto flutuante não é tratável para grandes .

Inversão unitária de portas

editar
Exemplo: O inverso unitário do produto Hadamard-CNOT. As três portas , e são seus próprios inversos unitários

Como todas as portas lógicas quânticas são reversíveis, qualquer composição de múltiplas portas também é reversível. Todos os produtos e produtos tensoriais (ou seja, combinações em série e em paralelo) de matrizes unitárias também são matrizes unitárias. Isso significa que é possível construir um inverso de todos os algoritmos e funções, desde que contenham apenas portas.

Inicialização, medição, E/S e decoerência espontânea são efeitos colaterais em computadores quânticos. Portas, no entanto, são puramente funcionais e bijetivas.

Se é uma matriz unitária, então e . A adaga () denota a transposta conjugada. Também é chamada de adjunta hermitiana.

Se uma função é um produto de portas, , o inverso unitário da função pode ser construído:

Porque temos, após aplicação repetida a si mesma

Similarmente, se a função consiste em duas portas e em paralelo, então e .

Portas que são seus próprios inversos unitários são chamadas de operadores hermitianos ou auto-adjuntos. Algumas portas elementares como a Hadamard (H) e as portas de Pauli (I, X, Y, Z) são operadores hermitianos, enquanto outras como as portas de deslocamento de fase (S, T, P, CPhase) geralmente não são.

Por exemplo, um algoritmo para adição pode ser usado para subtração, se for "executado ao contrário", como seu inverso unitário. A transformada quântica de Fourier inversa é o inverso unitário. Inversos unitários também podem ser usados para descomputação. Linguagens de programação para computadores quânticos, como Microsoft Q#,[10] Bernhard Ömer's QCL,[13] e IBM Qiskit,[29] contêm inversão de função como conceitos de programação.

Medição

editar
Representação de circuito da medição. As duas linhas no lado direito representam um bit clássico, e a linha única no lado esquerdo representa um qubit

Medição (às vezes chamada de observação) é irreversível e, portanto, não é uma porta quântica, pois atribui o estado quântico observado a um único valor. A medição toma um estado quântico e o projeta em um dos vetores de base, com uma probabilidade igual ao quadrado do comprimento do vetor (na 2-norma[4][5]) ao longo desse vetor de base.[1][30][31][32] Isso é conhecido como regra de Born e aparece[e] como uma operação estocástica não reversível, pois define probabilisticamente o estado quântico igual ao vetor de base que representa o estado medido. No instante da medição, diz-se que o estado "colapsa" para o valor único e definido que foi medido. Por que e como, ou mesmo se[33][34] o estado quântico colapsa na medição, é chamado de problema da medição.

A probabilidade de medir um valor com amplitude de probabilidade é , onde é o módulo.

Medir um único qubit, cujo estado quântico é representado pelo vetor , resultará em com probabilidade , e em com probabilidade .

Por exemplo, medir um qubit com o estado quântico produzirá com igual probabilidade ou .

Ficheiro:Qubit state with sin and cos.png
Para um único qubit, temos uma esfera unitária em com o estado quântico tal que . O estado pode ser reescrito como , ou e .
Nota: é a probabilidade de medir e é a probabilidade de medir .

Um estado quântico que abrange n qubits pode ser escrito como um vetor em dimensões complexas: . Isso ocorre porque o produto tensorial de n qubits é um vetor em dimensões. Desta forma, um registrador de n qubits pode ser medido em estados distintos, similarmente a como um registrador de n bits clássicos pode conter estados distintos. Ao contrário dos bits de computadores clássicos, estados quânticos podem ter amplitudes de probabilidade não nulas em múltiplos valores mensuráveis simultaneamente. Isso é chamado de superposição.

A soma de todas as probabilidades para todos os resultados deve ser sempre igual a 1.[f] Outra maneira de dizer isso é que o teorema de Pitágoras generalizado para tem que todos os estados quânticos com n qubits devem satisfazer [g] onde é a amplitude de probabilidade para o estado mensurável . Uma interpretação geométrica disso é que o possível espaço de valores de um estado quântico com n qubits é a superfície da esfera unitária em e que as transformações unitárias (ou seja, portas lógicas quânticas) aplicadas a ele são rotações na esfera. As rotações que as portas realizam formam o grupo de simetria U(2n). A medição é então uma projeção probabilística dos pontos na superfície desta esfera complexa nos vetores de base que abrangem o espaço (e rotulam os resultados).

Em muitos casos, o espaço é representado como um espaço de Hilbert em vez de algum espaço complexo específico -dimensional. O número de dimensões (definido pelos vetores de base, e portanto também pelos resultados possíveis da medição) é então frequentemente implícito pelos operandos, por exemplo, como o espaço de estados necessário para resolver um problema. No algoritmo de Grover, Grover nomeou este conjunto genérico de vetores de base como "o banco de dados".

A seleção dos vetores de base contra os quais medir um estado quântico influenciará o resultado da medição.[1][4][35] Veja mudança de base e entropia de von Neumann para detalhes. Neste artigo, usamos sempre a base computacional, o que significa que rotulamos os vetores de base de um registrador de n qubits como , ou usamos a representação binária .

Em mecânica quântica, os vetores de base constituem uma base ortonormal.

Um exemplo de uso de uma base de medição alternativa está na cifra BB84.

O efeito da medição em estados emaranhados

editar
A porta Hadamard-CNOT, que quando recebe a entrada produz um estado de Bell

Se dois estados quânticos (ou seja, qubits, ou registradores) estão emaranhados (o que significa que seu estado combinado não pode ser expresso como um produto tensorial), a medição de um registrador afeta ou revela o estado do outro registrador, colapsando parcial ou totalmente seu estado também. Este efeito pode ser usado para computação e é usado em muitos algoritmos.

A combinação Hadamard-CNOT atua no estado zero da seguinte forma:

O estado de Bell no texto é onde e . Portanto, pode ser descrito pelo plano gerado pelos vetores de base e , como na figura. A esfera unitária (em ) que representa o possível espaço de valores do sistema de 2 qubits intersecta o plano e está na superfície da esfera unitária. Como , há igual probabilidade de medir este estado como ou , e porque há probabilidade zero de medi-lo como ou .

Este estado resultante é o estado de Bell . Não pode ser descrito como um produto tensorial de dois qubits. Não há solução para

porque, por exemplo, w precisa ser tanto não nulo quanto zero no caso de xw e yw.

O estado quântico abrange os dois qubits. Isso é chamado de emaranhamento. Medir um dos dois qubits que compõem este estado de Bell resultará no outro qubit logicamente tendo o mesmo valor, ambos devem ser iguais: ou será encontrado no estado , ou no estado . Se medirmos um dos qubits como sendo por exemplo , então o outro qubit também deve ser , porque seu estado combinado se tornou . A medição de um dos qubits colapsa todo o estado quântico, que abrange os dois qubits.

O estado GHZ é um estado quântico emaranhado similar que abrange três ou mais qubits.

Este tipo de atribuição de valor ocorre instantaneamente a qualquer distância e isso foi verificado experimentalmente até 2018 pelo QUESS para distâncias de até 1200 quilômetros.[36][37][38] Que o fenômeno parece ocorrer instantaneamente, em oposição ao tempo que levaria para percorrer a distância separando os qubits à velocidade da luz, é chamado de paradoxo EPR, e é uma questão em aberto na física como resolver isso. Originalmente foi resolvido abandonando a suposição de realismo local, mas outras interpretações também surgiram. Para mais informações, veja os testes de Bell. O teorema da não-comunicação prova que este fenômeno não pode ser usado para comunicação mais rápida que a luz de informação clássica.

Medição em registradores com qubits emaranhados aos pares

editar
O efeito de uma transformada unitária F em um registrador A que está em uma superposição de estados e emaranhado aos pares com o registrador B. Aqui, n é 3 (cada registrador tem 3 qubits)

Tome um registrador A com n qubits todos inicializados para , e alimente-o através de uma porta de Hadamard paralela . O registrador A então entrará no estado que tem igual probabilidade quando medido de estar em qualquer um de seus estados possíveis; até . Tome um segundo registrador B, também com n qubits inicializados para e aplique CNOT aos pares seus qubits com os qubits no registrador A, de modo que para cada p os qubits e formem o estado .

Se medirmos agora os qubits no registrador A, então o registrador B será encontrado contendo o mesmo valor que A. Se, no entanto, aplicarmos uma porta lógica quântica F em A e então medirmos, então , onde é o inverso unitário de F.

Devido à forma como as inversões unitárias de portas atuam, . Por exemplo, diga , então .

A igualdade será válida independentemente da ordem em que a medição é realizada (nos registradores A ou B), assumindo que F tenha sido executada até o fim. A medição pode até ser intercalada aleatoriamente e concorrentemente qubit por qubit, pois as atribuições de medição de um qubit limitarão o espaço de valores possíveis dos outros qubits emaranhados.

Embora as igualdades sejam válidas, as probabilidades de medir os resultados possíveis podem mudar como resultado da aplicação de F, como pode ser a intenção em um algoritmo de busca quântica.

Este efeito de compartilhamento de valores via emaranhamento é usado no algoritmo de Shor, na estimação de fase e na contagem quântica. Usar a transformada de Fourier para amplificar as amplitudes de probabilidade dos estados de solução para algum problema é um método genérico conhecido como "Fourier fishing".[39]

Síntese de funções lógicas

editar
Um somador completo quântico, dado por Feynman em 1986.[3] Consiste apenas em portas Toffoli e CNOT. A porta cercada pelo quadrado pontilhado nesta figura pode ser omitida se descomputação para restaurar a saída B não for necessária.

Funções e rotinas que usam apenas portas podem ser descritas como matrizes, assim como as portas menores. A matriz que representa uma função quântica agindo em qubits tem tamanho . Por exemplo, uma função que atua em um "qubyte" (um registrador de 8 qubits) seria representada por uma matriz com elementos.

Transformações unitárias que não estão no conjunto de portas nativamente disponíveis no computador quântico (as portas primitivas) podem ser sintetizadas, ou aproximadas, combinando as portas primitivas disponíveis em um circuito. Uma maneira de fazer isso é fatorar a matriz que codifica a transformação unitária em um produto de produtos tensoriais (ou seja, circuitos em série e em paralelo) das portas primitivas disponíveis. O grupo U(2q) é o grupo de simetria para as portas que atuam em qubits.[2] A fatoração é então o problema de encontrar um caminho em U(2q) a partir do conjunto gerador de portas primitivas. O teorema de Solovay–Kitaev mostra que, dado um conjunto suficiente de portas primitivas, existe uma aproximação eficiente para qualquer porta. Para o caso geral com um grande número de qubits, esta abordagem direta para síntese de circuitos é intratável.[40][41] Isso impõe um limite sobre o quão grandes funções podem ser fatoradas por força bruta em portas quânticas primitivas. Tipicamente, programas quânticos são construídos usando funções quânticas relativamente pequenas e simples, semelhantes à programação clássica normal.

Devido à natureza unitária das portas, todas as funções devem ser reversíveis e sempre ser mapeamentos bijetivos de entrada para saída. Deve sempre existir uma função tal que . Funções que não são invertíveis podem ser tornadas invertíveis adicionando qubits ancilla à entrada ou à saída, ou a ambos. Após a função ter sido executada até o fim, os qubits ancilla podem então ser descomputados ou deixados intocados. Medir ou de outra forma colapsar o estado quântico de um qubit ancilla (por exemplo, reinicializando seu valor, ou por sua decoerência espontânea) que não foi descomputado pode resultar em erros,[42][43] pois seu estado pode estar emaranhado com os qubits que ainda estão sendo usados em computações.

Operações logicamente irreversíveis, por exemplo, adição módulo de dois registradores de qubits a e b, ,[h] podem ser tornadas logicamente reversíveis adicionando informação à saída, de modo que a entrada possa ser computada a partir da saída (ou seja, existe uma função ). Em nosso exemplo, isso pode ser feito passando um dos registradores de entrada para a saída: . A saída pode então ser usada para computar a entrada (ou seja, dada a saída e , podemos facilmente encontrar a entrada; é dado e ) e a função é tornada bijetiva.

Todas as expressões da álgebra booleana podem ser codificadas como transformadas unitárias (portas lógicas quânticas), por exemplo, usando combinações das portas Pauli-X, CNOT e Toffoli. Essas portas são funcionalmente completas no domínio da lógica booleana.

Existem muitas transformadas unitárias disponíveis nas bibliotecas de Q#, QCL, Qiskit e outras linguagens de programação quântica. Também aparecem na literatura.[44][45]

Por exemplo, , onde é o número de qubits que constitui o registrador , é implementado como o seguinte em QCL:[46][13][12]

cond qufunct inc(qureg x) { // increment register
  int i;
  for i = #x-1 to 0 step -1 {
    CNot(x[i], x[0::i]);     // apply controlled-not from
  }                          // MSB to LSB
}
O circuito gerado, quando . Os símbolos , e denotam XOR, AND e NOT respectivamente, e vêm da representação booleana da Pauli-X com zero ou mais qubits de controle quando aplicada a estados que estão na base computacional.

Em QCL, decremento é feito "desfazendo" o incremento. O prefixo ! é usado para executar o inverso unitário da função. !inc(x) é o inverso de inc(x) e em vez disso realiza a operação . A palavra-chave cond significa que a função pode ser condicional.[11]

No modelo de computação usado neste artigo (o modelo de circuito quântico), um computador clássico gera a composição da porta para o computador quântico, e o computador quântico se comporta como um coprocessador que recebe instruções do computador clássico sobre quais portas primitivas aplicar a quais qubits.[13][14] A medição de registradores quânticos resulta em valores binários que o computador clássico pode usar em seus cálculos. Algoritmos quânticos frequentemente contêm tanto uma parte clássica quanto uma parte quântica. E/S não medida (enviar qubits para computadores remotos sem colapsar seus estados quânticos) pode ser usada para criar redes de computadores quânticos. O emaranhamento por troca pode então ser usado para realizar algoritmos distribuídos com computadores quânticos que não estão diretamente conectados. Exemplos de algoritmos distribuídos que requerem apenas o uso de um punhado de portas lógicas quânticas são codificação superdensa, o acordo bizantino quântico e o protocolo de troca de chaves BB84 para cifra quântica.

Ver também

editar

Notas

editar
  1. A multiplicação de matrizes de portas quânticas é definida como circuitos em série.
  2. Observe, aqui uma rotação completa em torno da esfera de Bloch é radianos, ao contrário das portas de operador de rotação onde uma volta completa é
  3. Tanto a porta P quanto a porta Ph podem ser usadas, pois [2][1]
  4. Este conjunto gera exatamente todas as portas unitárias possíveis. No entanto, como a fase global é irrelevante na saída da medição, subconjuntos universais quânticos podem ser construídos, por exemplo, o conjunto contendo Ry(θ), Rz(θ) e CNOT abrange apenas todas as unitárias com determinante ±1, mas é suficiente para computação quântica.
  5. a b Se isso é realmente um efeito estocástico depende de qual interpretação da mecânica quântica é a correta (e se alguma interpretação pode ser correta). Por exemplo, a teoria de Broglie-Bohm e a interpretação de muitos mundos afirmam determinismo. (Na interpretação de muitos mundos, um computador quântico é uma máquina que executa programas (circuitos quânticos) que seleciona uma realidade onde a probabilidade de ter os estados de solução de um problema é grande. Isto é, a máquina mais frequentemente do que não termina em uma realidade onde dá a resposta correta. Como todos os resultados são realizados em universos separados de acordo com a interpretação de muitos mundos, o resultado total é determinístico. Esta interpretação no entanto não muda a mecânica pela qual a máquina opera.)
  6. Veja Axiomas de probabilidade § Segundo axioma
  7. A hipotenusa tem comprimento 1 porque as probabilidades somam 1, então o vetor de estado quântico é um vetor unitário.
  8. A entrada é qubits, mas a saída é apenas qubits. O apagamento de informação não é uma operação reversível (ou unitária) e, portanto, não é permitido. Veja também princípio de Landauer.

Referências

editar
  1. a b c d e f g h i j k Williams, Colin P. (2011). Explorations in Quantum Computing. [S.l.]: Springer. ISBN 978-1-84628-887-6 
  2. a b c d e f g Barenco, Adriano; Bennett, Charles H.; Cleve, Richard; DiVincenzo, David P.; Margolus, Norman; Shor, Peter; Sleator, Tycho; Smolin, John A.; Weinfurter, Harald (1 de novembro de 1995). «Elementary gates for quantum computation». American Physical Society (APS). Physical Review A. 52 (5): 3457–3467. Bibcode:1995PhRvA..52.3457B. ISSN 1050-2947. PMID 9912645. arXiv:quant-ph/9503016Acessível livremente. doi:10.1103/physreva.52.3457 
  3. a b Feynman, Richard P. (1986). «Quantum mechanical computers». Foundations of Physics. 16 (6): 507–531. Bibcode:1986FoPh...16..507F. ISSN 0015-9018. doi:10.1007/bf01886518 
  4. a b c d e f g h i Nielsen, Michael A.; Chuang, Isaac (2010). Quantum Computation and Quantum Information. Cambridge: Cambridge University Press. ISBN 978-1-10700-217-3. OCLC 43641333 
  5. a b c d e Yanofsky, Noson S.; Mannucci, Mirco (2013). Quantum computing for computer scientists. [S.l.]: Cambridge University Press. ISBN 978-0-521-87996-5 
  6. Preskill, John (6 de junho de 2021). «Quantum computing 40 years later». arXiv:2106.10522Acessível livremente [quant-ph]  Parâmetros não válidos no arXiv (ajuda)
  7. «Circuit Library». IBM (Qiskit). Cópia arquivada em 24 de outubro de 2023 
  8. «cQASM: Qubit gate operations». QuTech. Consultado em 6 de outubro de 2021. Cópia arquivada em 11 de maio de 2024 
  9. «Microsoft.Quantum.Intrinsic namespace». Microsoft (Q#). 28 de julho de 2023 
  10. a b Operations and Functions (Q# documentation)
  11. a b Ömer, Bernhard (2 de setembro de 2009). «Structured Quantum Programming» (PDF). Institute for Theoretical Physics, Vienna University of Technology. pp. 72, 92–107. Consultado em 28 de julho de 2021. Arquivado do original (PDF) em 27 de março de 2022 
  12. a b Ömer, Bernhard (29 de abril de 2003). «Classical Concepts in Quantum Programming». International Journal of Theoretical Physics. 44 (7): 943–955. arXiv:quant-ph/0211100Acessível livremente. doi:10.1007/s10773-005-7071-x 
  13. a b c d Ömer, Bernhard (20 de janeiro de 2000). Quantum Programming in QCL (PDF) (Tese). Institute for Theoretical Physics, Vienna University of Technology. Consultado em 24 de maio de 2021. Cópia arquivada (PDF) em 1 de junho de 2022 
  14. a b Pauka SJ, Das W, Kalra R, Moini A, Yang Y, Trainer M, Bousquet A, Cantaloube C, Dick N, Gardner GC, Manfra MJ, Reilly DJ (2021). «A cryogenic CMOS chip for generating control signals for multiple qubits». Nature Electronics. 4 (4): 64–70. arXiv:1912.01299Acessível livremente. doi:10.1038/s41928-020-00528-y 
  15. «Execute dynamic circuits». IBM Quantum Platform (quantum.cloud.ibm.com). Cópia arquivada em 26 de maio de 2026 
  16. «Mid-circuit Measurement». www.quera.com 
  17. «TdgGate»  Qiskit documentação online.
  18. «T dagger Gate»  cQASM documentação online.
  19. a b Aharonov, Dorit (9 de janeiro de 2003). «A Simple Proof that Toffoli and Hadamard are Quantum Universal». arXiv:quant-ph/0301040Acessível livremente 
  20. Sawicki, Adam; Karnas, Katarzyna (1 de novembro de 2017). «Universality of Single-Qudit Gates». Annales Henri Poincaré (em inglês). 18 (11): 3515–3552. Bibcode:2017AnHP...18.3515S. ISSN 1424-0661. arXiv:1609.05780Acessível livremente. doi:10.1007/s00023-017-0604-z 
  21. Mattioli, Lorenzo; Zimborás, Zoltán (12 de maio de 2022). «Universality verification for a set of quantum gates». Physical Review A. 105 (5). Bibcode:2022PhRvA.105e2602S. arXiv:2111.03862Acessível livremente. doi:10.1103/PhysRevA.105.052602  Faltam os |sobrenomes1= em Authors list (ajuda)
  22. Citação:
  23. Citação:
  24. Shi, Xiao-Feng (22 de maio de 2018). «Deutsch, Toffoli, and cnot Gates via Rydberg Blockade of Neutral Atoms». Physical Review Applied (em inglês). 9 (5). Bibcode:2018PhRvP...9e1001S. ISSN 2331-7019. arXiv:1710.01859Acessível livremente. doi:10.1103/PhysRevApplied.9.051001 
  25. «I operation». docs.microsoft.com. 28 de julho de 2023. Cópia arquivada em 12 de setembro de 2022 
  26. «IGate». qiskit.org  Qiskit documentação online.
  27. a b Loss, Daniel; DiVincenzo, David P. (1 de janeiro de 1998). «Quantum computation with quantum dots». Physical Review A. 57 (1): 120–126. Bibcode:1998PhRvA..57..120L. ISSN 1050-2947. arXiv:cond-mat/9701055Acessível livremente. doi:10.1103/physreva.57.120Acessível livremente  Exemplo na eq. 2.
  28. Raz, Ran (2002). «On the complexity of matrix product». Proceedings of the thiry-fourth annual ACM Symposium on Theory of Computing. [S.l.: s.n.] pp. 144–151. ISBN 1-58113-495-9. doi:10.1145/509907.509932 
  29. «UnitaryGate § UnitaryGate adjoint()». docs.quantum.ibm.com. Cópia arquivada em 26 de março de 2025 
  30. Griffiths, D.J. (2008). Introduction to Elementary Particles 2ª ed. [S.l.]: John Wiley & Sons. pp. 115–121, 126. ISBN 978-3-527-40601-2 
  31. Albert, David (1994). Quantum mechanics and experience. [S.l.]: Harvard University Press. p. 35. ISBN 0-674-74113-7 
  32. Carroll, Sean M. (2019). Spacetime and Geometry: An Introduction to General Relativity. [S.l.]: Cambridge University Press. pp. 376–394. ISBN 978-1-108-48839-6 
  33. Wallace, David (2012). The emergent multiverse: Quantum theory according to the Everett Interpretation. [S.l.]: Oxford University Press. ISBN 978-0-19-954696-1 
  34. Carroll, Sean M. (2019). Something deeply hidden: Quantum worlds and the emergence of spacetime. [S.l.]: Penguin Random House. ISBN 978-1-5247-4301-7 
  35. Q# Online manual: Measurement
  36. Juan Yin; Yuan Cao; Yu-Huai Li; Sheng-Kai Liao; Liang Zhang; Ji-Gang Ren; Wen-Qi Cai; Wei-Yue Liu; Bo Li; Hui Dai; Guang-Bing Li; Qi-Ming Lu; Yun-Hong Gong; Yu Xu; Shuang-Lin Li; Feng-Zhi Li; Ya-Yun Yin; Zi-Qing Jiang; Ming Li; Jian-Jun Jia; Ge Ren; Dong He; Yi-Lin Zhou; Xiao-Xiang Zhang; Na Wang; Xiang Chang; Zhen-Cai Zhu; Nai-Le Liu; Yu-Ao Chen; Chao-Yang Lu; Rong Shu; Cheng-Zhi Peng; Jian-Yu Wang; Jian-Wei Pan (2017). «Satellite-based entanglement distribution over 1200 kilometers». Quantum Optics. 356 (6343): 1140–1144. PMID 28619937. arXiv:1707.01339Acessível livremente. doi:10.1126/science.aan3211 
  37. Billings, Lee (23 de abril de 2020). «China Shatters "Spooky Action at a Distance" Record, Preps for Quantum Internet». Scientific American. Cópia arquivada em 26 de maio de 2026 
  38. Popkin, Gabriel (15 de junho de 2017). «China's quantum satellite achieves 'spooky action' at record distance». Science – AAAS. Cópia arquivada em 10 de agosto de 2025 
  39. Aaronson, Scott (2009). «BQP and the Polynomial Hierarchy». arXiv:0910.4698Acessível livremente [quant-ph] 
  40. Dawson, Christopher M.; Nielsen, Michael (1 de janeiro de 2006). «The Solovay-Kitaev algorithm». Quantum Information and Computation (em inglês). 6 (1). Seção 5.1, equação 23. arXiv:quant-ph/0505030Acessível livremente. doi:10.26421/QIC6.1-6. Cópia arquivada em 1 de julho de 2025 
  41. Matteo, Olivia Di (2016). «Parallelizing quantum circuit synthesis». Quantum Science and Technology. 1 (1). Bibcode:2016QS&T....1a5003D. arXiv:1606.07413Acessível livremente. doi:10.1088/2058-9565/1/1/015003 
  42. Aaronson, Scott (2002). «Quantum Lower Bound for Recursive Fourier Sampling». Quantum Information and Computation. 3 (2): 165–174. Bibcode:2002quant.ph..9060A. arXiv:quant-ph/0209060Acessível livremente. doi:10.26421/QIC3.2-7 
  43. Q# online manual: Quantum Memory Management
  44. Ryo, Asaka; Kazumitsu, Sakai; Ryoko, Yahagi (2020). «Quantum circuit for the fast Fourier transform». Quantum Information Processing. 19 (277): 277. Bibcode:2020QuIP...19..277A. arXiv:1911.03055Acessível livremente. doi:10.1007/s11128-020-02776-5. Cópia arquivada em 13 de novembro de 2025 
  45. Montaser, Rasha (2019). «New Design of Reversible Full Adder/Subtractor using R gate». International Journal of Theoretical Physics. 58 (1): 167–183. Bibcode:2019IJTP...58..167M. arXiv:1708.00306Acessível livremente. doi:10.1007/s10773-018-3921-1 
  46. QCL 0.6.4 source code, the file "lib/examples.qcl"

Fontes

editar