Na computação quântica e especificamente no modelode circuito quântico de computação, uma porta lógica quântica (ou simplesmente porta quântica ) é um circuito quântico básico operando em um pequeno número de qubits . Eles são os blocos de construção dos circuitos quânticos, assim como as portas lógicas clássicas são para os circuitos digitais convencionais.
Portas lógicas quânticas comuns por nome (incluindo abreviatura), forma(s) de circuito e as matrizes unitárias correspondentes
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 Toffoli reversível pode implementar todas as funções booleanas, muitas vezes ao custo de ter que usar bits ancilla . A porta de Toffoli possui um equivalente quântico direto, mostrando que os circuitos quânticos podem realizar todas as operações realizadas pelos circuitos clássicos.
As portas quânticas são operadores unitários e são descritas como matrizes unitárias relativas a alguma base . Normalmente é usada a base computacional, que a menos que seja comparada com algo, significa apenas que para um sistema quântico de nível d (como um qubit, um registro quântico ou qutrits e qudits ) [1] os vetores de base ortogonais são rotulados , use notação binária.
Embora 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 normalmente introduz erros e a fidelidade dos estados quânticos diminui com o tempo. Se a correção de erros for usada, as portas utilizáveis ficarão ainda mais restritas a um conjunto finito. [5]: CH.10 [1]14 Posteriormente neste artigo, isso às vezes é ignorado, pois o foco está nas propriedades das portas quânticas ideais.
Os estados quânticos são normalmente representados por "kets", de uma notação conhecida como bra-ket .
Aqui, e são as amplitudes de probabilidade complexas do qubit. Esses valores determinam a probabilidade de medir 0 ou 1, ao medir o estado do qubit. Veja a medição abaixo para obter 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 registro de qubit é o produto tensorial dos qubits constituintes. O produto tensorial é denotado pelo símbolo .
A ação da porta em um estado quântico específico é encontrada multiplicando o vetor , que representa o estado pela matriz representando o portão. O resultado é um novo estado quântico :
Portas quânticas (de cima para baixo): porta de identidade, porta NOT, Pauli Y, Pauli Z
Existe um número incontável e infinito de portas. Alguns deles foram nomeados por vários autores,[8][1][5][6][9][10][11] e abaixo seguem alguns dos mais utilizados na literatura.
Os portões Pauli são as três matrizes de Pauli e agir em um único qubit. Os 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]
Portas controladas atuam em 2 ou mais qubits, onde um ou mais qubits atuam como controle para alguma operação.[12] Por exemplo, a porta NOT controlada (ou CNOT ou CX) atua em 2 qubits e executa a operação NOT no segundo qubit somente quando o primeiro qubit é , e , caso contrário, deixa-o inalterado. Com relação à base ,,,, é representado pela matriz unitáriaHermitiana :
Essas matrizes são geralmente representadas como
As matrizes de Pauli são involutivas, o que significa que o quadrado de uma matriz de Pauli é a matriz identidade .
A porta Pauli-X é o equivalente quântico da porta NOT para computadores clássicos com relação à base padrão | 0 ⟩ {\displaystyle |0\rangle } |0\rangle , | 1 ⟩ {\displaystyle |1\rangle } |1\rangle , que distingue o eixo z na esfera de Bloch. Às vezes, ele é chamado de bit-flip, pois mapeia |0\rangle para |1\rangle e |1\rangle para |0\rangle . Da mesma forma, o Pauli-Y mapeia |0\rangle para i|1\rangle e |1\rangle para - i | 0 ⟩ {\displaystyle -i|0\rangle } -i|0\rangle. Pauli Z deixa o estado da base |0\rangle inalterado e mapeia |1\rangle para - | 1 ⟩ {\displaystyle -|1\rangle } -|1\rangle. Devido a essa natureza, o Pauli Z às vezes é chamado de inversão de fase.
A porta CNOT (ou Pauli- X controlada) pode ser descrita como a porta que mapeia os estados básicos , onde é XOR .
De forma mais geral, se U for uma porta que opera em um único qubit com representação matricial.
então a porta U controlada é uma porta que opera em dois qubits de tal forma que o primeiro qubit serve como controle. Ele mapeia os estados básicos da seguinte maneira.
A matriz que representa o U controlado é
Quando U é um dos operadores de Pauli, X, Y, Z, os respectivos termos "controlado- X ", "controlado- Y " ou "controlado- Z " são às vezes usados. [5]: 177–185 Às vezes, isso é abreviado para apenas C X, C Y e C Z .
Em geral, qualquer porta unitária de qubit único pode ser expressa como , onde H é uma matriz Hermitiana e então o U controlado é
O controle pode ser estendido a portas com número arbitrário de qubits[13] e funções em linguagens de programação.[14] As funções podem ser condicionadas a estados de superposição.[15][16]
Exemplo: o qubit é medido, e o resultado desta medição é um valor booleano que é consumido pelo computador clássico. Se mede para 1, então o computador clássico diz ao computador quântico para aplicar a porta U em . <br> Nos diagramas de circuitos, as linhas simples são qubits e as linhas duplas são bits .
As portas também podem ser controladas pela 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. [17]: 42–43 [18] O controle clássico é simplesmente a inclusão, ou omissão, de portas na sequência de instruções do computador quântico. [5]: 26–28 [1]
A mudança de fase é uma família de portas de qubit único que mapeiam os estados básicos e . A probabilidade de medir um ou permanece inalterado após a aplicação desta porta, porém modifica a fase do estado quântico. Isto é 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 mudança de fase é representada pela matriz:
onde é a mudança de fase com o período2π . Alguns exemplos comuns são a porta T onde (historicamente conhecido como porta), a porta de fase (também conhecida como porta S, escrita como S, embora S às vezes seja usada para portas SWAP) onde e o portão Pauli- Z onde .
As portas de mudança de fase estão relacionadas entre si da seguinte forma:
Observe que a porta de fase não é hermitiano (exceto para todos ). Esses portões são diferentes de seus conjugados hermitianos: . As duas portas adjuntas (ou transpostas conjugadas ) e às vezes são incluídos em conjuntos de instruções.[19][20]
O portão Hadamard ou Walsh-Hadamard, em homenagem a Jacques Hadamard (francês: [adamaʁ]</link> ) e Joseph L. Walsh, atuam em um único qubit. Ele mapeia os estados básicos e (cria um estado de superposição igual se for fornecido um estado de base computacional). Os dois estados e às vezes são escritos e respectivamente. O portão Hadamard realiza uma rotação de sobre o eixo na esfera de Bloch e, portanto, é involutivo . É representado pela matriz de Hadamard :
Representação do circuito do portão Hadamard
Se o Hermitiano (então ) A porta Hadamard é usada para realizar uma mudança de base, ela vira e . Por exemplo, e
O portão Toffoli, em homenagem a Tommaso Toffoli e também chamado de portão CCNOT ou portão Deutsch, é uma porta de 3 bits 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 aplica um Pauli- X (ou NÃO) no terceiro bit, caso contrário não faz nada. É um exemplo de porta CC-U (unidade controlada controlada). Por ser o análogo quântico de uma porta clássica, ela é completamente especificada por sua tabela verdade. A porta Toffoli é universal quando combinada com a porta Hadamard de qubit único.[21]
Tabela verdade
Formulário 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 Toffoli está relacionada ao clássico AND ( ) e XOR ( ) operações à medida que realiza o mapeamento em estados na base computacional.
Tanto o CNOT quanto o são portas universais de dois qubits e podem ser transformadas umas nas outras
Um conjunto de portas quânticas universais é qualquer conjunto de portas ao 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 nada menos que um conjunto incontável de portas, uma vez que 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ários com um número constante de qubits, o teorema de Solovay-Kitaev garante que isso pode ser feito de forma eficiente. Verificar se um conjunto de portas quânticas é universal pode ser feito usando métodos de teoria de grupos[22] e/ou relação a projetos t unitários (aproximados) [23]
Alguns conjuntos de portas quânticas universais incluem:
O conjunto de Clifford {CNOT, H, S } + porta T. O conjunto de Clifford sozinho não é um conjunto de portas quânticas universal, pois pode ser simulado de forma eficiente e clássica de acordo com o teorema de Gottesman-Knill .
O portão Toffoli + portão Hadamard.[25] A porta Toffoli sozinha forma um conjunto de portas universais para circuitos lógicos algébricos booleanos reversíveis que abrange toda a computação clássica.
Um conjunto de portas quânticas universais de porta única também pode ser formulado usando a porta Deutsch parametrizada de três qubits ,[26] em homenagem ao físico David Deutsch . É um caso geral de CC-U ou porta unitária controlada-controlada, e é definido como
Infelizmente, um portão Deutsch funcional permaneceu fora de alcance, devido à falta de um protocolo. Existem algumas propostas para realizar uma porta Deutsch com interação dipolo-dipolo em átomos neutros.[27]
Uma porta lógica universal para computação clássica reversível, a porta Toffoli, é redutível à porta 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 a universalidade. Em 1996, Adriano Barenco mostrou que a porta Deutsch pode ser decomposta usando apenas uma única porta de dois qubits ( porta Barenco ), mas é difícil de realizar experimentalmente. [1]: 93 Este recurso é exclusivo dos circuitos quânticos, pois não existe uma porta clássica de dois bits que seja reversível e universal. [1]: 93 Portas universais de dois qubits poderiam ser implementadas para melhorar circuitos reversíveis clássicos em microprocessadores rápidos de baixa potência. [1]
Duas portas Y e X em série. A ordem em que aparecem no fio é invertida ao multiplicá-los.
Suponha que temos duas portas A e B nas quais ambas atuam qubits. Quando B é colocado depois de A em um circuito em série, o efeito das duas portas pode ser descrito como uma única porta C.
onde é a multiplicação de matrizes . A porta resultante C terá as mesmas dimensões de A e B. A ordem em que as portas apareceriam em um diagrama de circuito é invertida ao multiplicá-las. [5]:17–18,22–23,62–64: 17–18,22–23,62–64 [6]:147–169
Por exemplo, colocar a porta Pauli X após a porta Pauli Y, ambas atuando em um único qubit, pode ser descrita como uma única porta combinada C :
O símbolo do produto ( ) é frequentemente omitido.
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 conectadas em série (por exemplo ), e os expoentes reais são uma generalização do circuito em série. Por exemplo, e são ambos portões quânticos válidos.
para qualquer matriz unitária . A matriz identidade ( ) se comporta como um NOP[28][29] e pode ser representado como fio desencapado em circuitos quânticos ou nem ser mostrado.
Todas as portas são matrizes unitárias, de modo que e , onde é a transposta conjugada . Isso significa que os expoentes negativos das portas são inversos unitários de suas contrapartes exponenciadas positivamente: . Por exemplo, alguns expoentes negativos das portas de mudança de fase são e .
O portão é o portão Hadamard() aplicado em paralelo em 2 qubits. Pode ser escrito como:
Esta "porta Hadamard paralela de dois qubits" será aplicada, por exemplo, ao vetor zero de dois qubits (), crie um estado quântico que tenha igual probabilidade de ser observado em qualquer um de seus quatro resultados possíveis; ,,,. Podemos escrever esta operação como:
Aqui a amplitude para cada estado mensurável é1⁄2 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á um em cada quatro que observamos qualquer um dos quatro casos individuais. Veja medição para detalhes.
Quando aplicado a um registro de qubits todos inicializados para , a transformada de Hadamard coloca o registro quântico em uma superposição com igual probabilidade de ser medido em qualquer um de seus estados possíveis:
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 for medido, é um estado quântico com amplitude de probabilidade igual para cada um de seus possíveis estados.
A transformada de Hadamard atua em um registro com qubits tais que do seguinte modo:
Se dois ou mais qubits forem vistos como um único estado quântico, esse estado combinado é igual ao produto tensorial dos qubits constituintes. Qualquer estado que possa ser escrito como um produto tensorial dos subsistemas constituintes é chamado de estados separáveis . Por outro lado, um estado emaranhado é qualquer estado que não pode ser fatorado por tensor, ou em outras palavras: Um estado emaranhado não pode ser escrito como um produto tensorial de seus estados de qubits constituintes. Cuidado especial deve ser tomado ao aplicar portas a qubits constituintes que constituem estados emaranhados.
Se tivermos um conjunto de N qubits emaranhados e desejarmos aplicar uma porta quântica em M < N qubits no conjunto, teremos que estender a porta para receber N qubits. Esta aplicação pode ser feita combinando a porta com uma matriz identidade de forma que seu produto tensorial se torne uma porta que atue em N qubits. A matriz identidade () é uma representação da porta que mapeia cada estado para si mesmo (ou seja, não faz absolutamente nada). Em um diagrama de circuito, a porta ou matriz de identidade geralmente aparece apenas como um fio desencapado.
O exemplo dado no texto. O portão Hadamard atuam apenas em 1 qubit, mas é um estado quântico emaranhado que abrange 2 qubits. Em nosso exemplo,
Por exemplo, o portão Hadamard () atua em um único qubit, mas se o alimentarmos com o primeiro dos dois qubits que constituem o estado de Bellemaranhado, não podemos escrever essa operação facilmente. Precisamos estender o portão Hadamard com o portão de identidade para que possamos agir em estados quânticos que abrangem dois qubits:
O portão agora pode ser aplicado a qualquer estado de dois qubits, emaranhado ou não. O portão deixará o segundo qubit intocado e aplicará a transformação Hadamard ao primeiro qubit. Se aplicado ao estado Bell em nosso exemplo, podemos escrever isso como:
A complexidade de tempo para multiplicar dois -matrizes é pelo menos ,[31] se estiver usando uma máquina clássica. Porque o tamanho de um portão que opera em qubits é isso significa que o tempo para simular uma etapa em um circuito quântico (por meio da multiplicação das portas) que opera em estados emaranhados genéricos é . Por esta razão, acredita-se que seja intratável simular grandes sistemas quânticos emaranhados usando computadores clássicos. Subconjuntos das portas, como as portas de Clifford, ou o caso trivial de circuitos que implementam apenas funções booleanas clássicas (por exemplo, combinações de X, CNOT, Toffoli ), podem, no entanto, ser simulados eficientemente em computadores clássicos.
Exemplo: O inverso unitário do produto Hadamard-CNOT. Os três portões , 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 (isto é, séries e combinações paralelas ) de matrizes unitárias também são matrizes unitárias. Isto significa que é possível construir um inverso de todos os algoritmos e funções, desde que contenham apenas portas.
Se uma função é um produto de portões, , o inverso unitário da função pode ser construído:
Porque temos, após repetida aplicação sobre si mesmo
Da mesma forma se a função consiste em dois portões e em paralelo, então e .
Portas que são seus próprios inversos unitários são chamadas de operadores hermitianos ou autoadjuntos . Algumas portas elementares, como as portasHadamard ( H ) e Pauli ( I, X, Y, Z ), são operadores hermitianos, enquanto outras, como as portas de mudança de fase ( S, T, P, CPhase ), geralmente não são.
Por exemplo, um algoritmo de adição pode ser usado para subtração, se estiver sendo "executado ao contrário", como seu inverso unitário. A transformada quântica inversa de Fourier é o inverso unitário. Inversos unitários também podem ser usados para descomputação . Linguagens de programação para computadores quânticos, como Q# da Microsoft,[32]QCL de Bernhard Ömer, [17] e Qiskit da IBM,[33] contêm inversão de função como conceitos de programação.
Representação de circuito de medição. As duas linhas do lado direito representam um bit clássico e a linha única do lado esquerdo representa um qubit
A medição (às vezes chamada de observação ) é irreversível e, portanto, não é uma porta quântica, porque atribui o estado quântico observado a um único valor. A medição pega um estado quântico e o projeta para um dos vetores de base, com uma probabilidade igual ao quadrado do comprimento do vetor (na norma 2[5][6] ) ao longo desse vetor de base. [1]: 15–17 [34][35][36] 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 definido que foi medido. Por que e como, ou mesmo se[37][38] o estado quântico entra em colapso na medição, é chamado de problema de medição .
Medindo um único qubit, cujo estado quântico é representado pelo vetor , resultará em com probabilidade , e em with probability .
Por exemplo, medindo um qubit com o estado quântico renderá com igual probabilidade ou .
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 registro de n qubits pode ser medido para estados distintos, semelhante a como um registro de nbits clássicos pode conter estados distintos. Ao contrário dos bits dos computadores clássicos, os estados quânticos podem ter amplitudes de probabilidade diferentes de zero em vários valores mensuráveis simultaneamente. Isso é chamado de superposição .
A soma de todas as probabilidades para todos os resultados deve ser sempre igual a 7000100000000000000♠1 . [f] Outra maneira de dizer isso é que o teorema de Pitágoras generalizou para tem que todos os estados quânticos com n qubits deve 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 transformadas unitárias (ou seja, portas lógicas quânticas) aplicadas a ela são rotações na esfera. As rotações que as portas realizam estão no grupo de simetriaU(2 n ) . A medição é então uma projeção probabilística dos pontos na superfície desta esfera complexa sobre os 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 alguns específicos -dimensional espaço complexo -dimensional . O número de dimensões (definidas pelos vetores de base e, portanto, também pelos resultados possíveis da medição) é frequentemente implícito nos operandos, por exemplo, como o espaço de estados necessário para resolver um problema . No algoritmo de Grover, Lov chamou esse conjunto genérico de vetores de base de "o banco de dados" .
A seleção de vetores de base para medir um estado quântico influenciará o resultado da medição. [1]: 30–35 [5][39] Veja mudança de base e entropia de Von Neumann para detalhes. Neste artigo, sempre utilizamos a base computacional, o que significa que rotulamos o vetores de base de um registron -qubit , ou use a representação binária.
Se dois estados quânticos (isto é, qubits, ou registros ) estão emaranhados (o que significa que seu estado combinado não pode ser expresso como um produto tensorial ), a medição de um registro afeta ou revela o estado do outro registro, 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:
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 diferente de zero e 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 fato de que o outro qubit deve logicamente ter 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 tornou-se. A medição de um dos qubits colapsa todo o estado quântico, que abrange os dois qubits.
O estado de Bell no texto é onde e . Portanto, pode ser descrito pelo plano gerado pelos vetores de base e , como na foto. A esfera unitária(in ) que representam o possível espaço de valores do sistema de 2 qubits cruza o plano e encontra-se na superfície da esfera unitária. Porque , há probabilidade igual de medir este estado para ou , e porque há probabilidade zero de medi-lo para ou .
O estado GHZ é um estado quântico emaranhado semelhante que abrange três ou mais qubits.
Este tipo de atribuição de valor ocorre instantaneamente em qualquer distância e desde 2018 foi verificado experimentalmente pelo
QUESS para distâncias de até 1.200 quilômetros.[40][41][42] O fato de o fenômeno parecer acontecer instantaneamente, em oposição ao tempo que levaria para percorrer a distância que separa 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 o pressuposto do realismo local, mas também surgiram outras interpretações . Para obter mais informações, consulte os experimentos de teste de Bell . O teorema da não comunicação prova que este fenômeno não pode ser usado para comunicação de informações clássicas mais rápida que a luz.
O efeito de uma transformada unitária F em um registrador A que está em uma superposição de estados e emaranhados aos pares com o registrador B. Aqui, n é 3 (cada registrador tem 3 qubits)
Pegue um registrador A com n qubits, todos inicializados para , e alimentá-lo através de uma porta Hadamard paralela. O registrador A entrará então no estado que têm igual probabilidade de quando medidos estarem em qualquer um de seus estados possíveis; para . Pegue um segundo registro B, também com n qubits inicializados para e CNOT aos pares seus qubits com os qubits no registro A, de modo que para cada p os qubits e forma o estado
Se agora medirmos os qubits no registro A, descobriremos que o registro B contém o mesmo valor que A. Se, no entanto, aplicarmos uma porta lógica quântica F em A e depois medirmos, então , onde é o inverso unitário de F ..
A igualdade será válida independentemente da ordem em que a medição for realizada (nos registradores A ou B), assumindo que F foi executado até o fim. A medição pode até ser intercalada aleatoriamente e simultaneamente qubit por qubit, uma vez que a atribuição de medições de um qubit limitará o possível espaço de valores dos outros qubits emaranhados.
Mesmo que as igualdades sejam válidas, as probabilidades para medir os resultados possíveis podem mudar como resultado da aplicação F, como pode ser a intenção de um algoritmo de busca quântica.
Um somador quântico completo, fornecido por Feynman em 1986.[44] Consiste apenas em portas Toffoli e CNOT . A porta cercada pelo quadrado pontilhado nesta imagem pode ser omitida se não for necessária a descomputação para restaurar a saída B.
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 sobre qubits tem tamanho . Por exemplo, uma função que atue sobre um “qubyte” (um registro de 8 qubits) seria representada por uma matriz com elementos.
As 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 paralelos ) das portas primitivas disponíveis. O grupoU(2 q ) é o grupo de simetria das portas que atuam qubits.[45] A fatoração é então o problema de encontrar um caminho em U(2 q ) 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 à síntese de circuitos é intratável .[46][47]
Devido à natureza unitária das portas, todas as funções devem ser reversíveis e sempre serem mapeamentos bijetivos de entrada para saída. Deve sempre existir uma função de tal modo que . Funções que não são invertíveis podem se tornar invertíveis adicionando qubits auxiliares à entrada ou à saída, ou ambas. Depois que a função for concluída, os qubits auxiliares podem ser descomputados ou deixados intocados. Medir ou de outra forma colapsar o estado quântico de um qubit auxiliar (por exemplo, reinicializando o valor dele ou por sua decoerência espontânea) que não foi descomputado pode resultar em erros,[48][49] pois seu estado pode estar emaranhado com os qubits que ainda estão sendo usados em cálculos.
Operações logicamente irreversíveis, por exemplo módulo de adição de dois -qubit registra a e b, ,[h] pode ser tornado logicamente reversível adicionando informações à saída, de modo que a entrada possa ser calculada a partir da saída (ou seja, existe uma função ). No 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 calcular a entrada (ou seja, dada a saída e , podemos encontrar facilmente a entrada; é dado e ) e a função se torna bijetiva.
Todas as expressões algébricas booleanas 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 lógico booleano.
Existem muitas transformações unitárias disponíveis nas bibliotecas de Q#, QCL, Qiskit e outras linguagens de programação quântica . Também aparece na literatura.[50][51]
Por exemplo, , onde é o número de qubits que constitui o registro, é implementado da seguinte forma em QCL:.[52][17][53]
The generated circuit, when . The symbols , and denotes XOR, AND and NOT respectively, and comes from the Boolean representation of Pauli-X with zero or more control qubits when applied to states that are in the computational basis
No QCL, o 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 executa a operação . A palavra-chave cond significa que a função pode ser condicional .[54]
No modelo de computação usado neste artigo (o modelo de circuito quântico ), um computador clássico gera a composição de portas 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. quais qubits. [17]: 36–43 [55] A medição de registros quânticos resulta em valores binários que o computador clássico pode usar em seus cálculos. Os algoritmos quânticos geralmente contêm uma parte clássica e uma parte quântica. E/S não medida (envio de qubits para computadores remotos sem colapso de seus estados quânticos) pode ser usada para criar redes de computadores quânticos . A troca de emaranhamento pode então ser usada 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 a codificação superdensa, o acordo bizantino quântico e o protocolo de troca de chaves cifradasBB84 .
↑A multiplicação de matrizes de portas quânticas é definida como Circuito em série.
↑Observe que, aqui, uma rotação completa em torno da esfera de Bloch é de radianos, ao contrário das portas de operadores de rotação em que uma volta completa é de
↑This set generates every possible unitary gate exactly. However as the global phase is irrelevant in the measurement output, universal quantum subsets can be constructed e.g. the set containing Ry(θ),Rz(θ) and CNOT only spans all unitaries with determinant ±1 but it is sufficient for quantum computation.
↑ abIf this actually is a stochastic effect depends on which interpretation of quantum mechanics that is correct (and if any interpretation can be correct). For example, De Broglie–Bohm theory and the many-worlds interpretation asserts determinism. (In the many-worlds interpretation, a quantum computer is a machine that runs programs (quantum circuits) that selects a reality where the probability of it having the solution states of a problem is large. That is, the machine more often than not ends up in a reality where it gives the correct answer. Because all outcomes are realized in separate universes according to the many-worlds interpretation, the total outcome is deterministic. This interpretation does however not change the mechanics by which the machine operates.)
↑The hypotenuse has length 1 because the probabilities sum to 1, so the quantum state vector is a unit vector.
↑The input is qubits, but the output is just qubits. Information erasure is not a reversible (or unitary) operation, and therefore not allowed. See also Landauer's principle.
↑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. ISSN1050-2947. PMID9912645. arXiv:quant-ph/9503016. doi:10.1103/physreva.52.3457
↑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. ISSN1050-2947. PMID9912645. arXiv:quant-ph/9503016. doi:10.1103/physreva.52.3457
↑Preskill, John (6 de junho de 2021). «Quantum computing 40 years later». arXiv:2106.10522 [quant-ph]
↑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. ISSN1050-2947. PMID9912645. arXiv:quant-ph/9503016. doi:10.1103/physreva.52.3457
↑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. ISSN1050-2947. PMID9912645. arXiv:quant-ph/9503016. doi:10.1103/physreva.52.3457
↑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. ISSN1050-2947. PMID9912645. arXiv:quant-ph/9503016. doi:10.1103/physreva.52.3457
↑Ömer, Bernhard (29 de abril de 2003). «Classical Concepts in Quantum Programming». International Journal of Theoretical Physics. 44 (7): 943–955. arXiv:quant-ph/0211100. doi:10.1007/s10773-005-7071-x
↑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.01299. doi:10.1038/s41928-020-00528-y
↑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. ISBN1581134959. doi:10.1145/509907.509932 !CS1 manut: Data e ano (link)
↑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. ISSN1050-2947. PMID9912645. arXiv:quant-ph/9503016. doi:10.1103/physreva.52.3457
↑Ömer, Bernhard (29 de abril de 2003). «Classical Concepts in Quantum Programming». International Journal of Theoretical Physics. 44 (7): 943–955. arXiv:quant-ph/0211100. doi:10.1007/s10773-005-7071-x
↑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.01299. doi:10.1038/s41928-020-00528-y