Regras de diagrama de circuito quântico

Às vezes, algoritmos quânticos são mais fáceis de entender em um diagrama de circuito do que na representação de matriz escrita equivalente. Este artigo explica como ler diagramas de circuito quântico e suas convenções.

Para obter mais informações, consulte Como visualizar diagramas de circuitos quânticos.

Lendo diagramas de circuito quântico

Em um circuito quântico, o tempo flui da esquerda para a direita. As portas quânticas são ordenadas em ordem cronológica com a porta mais à esquerda como a porta aplicada pela primeira vez ao qubits.

Veja o seguinte diagrama de circuito quântico como exemplo:

Diagrama de um circuito quântico com dois registros, um portão hadamard, um portão controlado e uma medida.

  1. Registro qubit: os registros qubit são exibidos como linhas horizontais, com cada linha representando um qubit. A linha superior é o registro qubit rotulado como 0, a segunda linha é o registro qubit rotulado como 1 e assim por diante.
  2. Portão quântico: as operações quânticas são representadas por portões quânticos. O termo porta quântica é análogo a portas lógicas clássicas. As portas que atuam em um ou mais registros de qubit são indicadas como caixas. Neste exemplo, o símbolo representa uma operação hadamard.
  3. Portão controlado: os portões controlados atuam em dois ou mais qubits. Neste exemplo, o símbolo representa um portão CNOT. O círculo preto representa o qubit de controle e a cruz dentro de um círculo representa o target qubit.
  4. Operação de medição: o símbolo do medidor representa uma operação de medição. A operação de medida usa um registro qubit como informações clássicas de entrada e saídas.

Aplicando portões quânticos

Como o tempo flui da esquerda para a direita, o portão mais à esquerda é aplicado primeiro Por exemplo, a ação do circuito quântico a seguir é a CBA$ de matriz $unitária.

Diagrama de portões quânticos sendo aplicados da esquerda para a direita em um circuito quântico.

Observação

A multiplicação de matriz obedece à regra oposta: a matriz mais à direita é aplicada primeiro. Em diagramas de circuito quântico no entanto, a porta mais à esquerda é aplicada primeiro. Ás vezes essa diferença pode confundir, portanto, é importante observar essa diferença significativa entre notação algébrica linear e diagramas de circuito quântico.

Entradas e saídas de circuitos quântico

Em um diagrama de circuito quântico, os fios que entram em um portão quântico representam os qubits que são inseridos no portão quântico e os fios que saem do portão quântico representam os qubits que são saída do portão quântico.

O número de entradas de um portão quântico é igual ao número de saídas de um portão quântico. Isso ocorre porque as operações quânticas são unitárias e, portanto, reversíveis. Se um portão quântico tivesse mais saídas do que entradas, ele não seria reversível e, portanto, não unitário, o que é uma contradição.

Por esse motivo, qualquer caixa desenhada em um diagrama de circuito deve ter precisamente o mesmo número de fios inserindo-a e retirando-a.

Operações de vários qubits

Os diagramas de circuito qubit seguem regras semelhantes para os qubit únicos. Por exemplo, uma operação $unitária de dois qubits B$ pode ser definida como $(H S\otimes X),$ portanto, o circuito quântico equivalente é o seguinte:

Diagrama de circuito de uma operação unitária de dois qubits.

Você também pode exibir a $B$ como se tivesse uma ação em um único registro de dois qubits em vez de dois registros de um qubit, dependendo do contexto no qual o circuito é usado.

Talvez a propriedade mais útil desses diagramas de circuito abstrato seja que eles permitem que algoritmos quânticos complexos sejam descritos em um alto nível sem precisar compilá-los em portas fundamentais. Isso significa que é possível intuir sobre o fluxo de dados de um grande algoritmo quântico sem a necessidade de entender todos os detalhes de como cada uma das sub-rotinas dentro do algoritmo funciona.

Portas controladas

Portões controlados quânticos são portões de dois qubits que aplicam um portão de qubit único a um target qubit se um qubit de controle estiver em um estado específico.

Por exemplo, considere um portão controlado quântico, indicado $\Lambda(G),$ em que um único valor de qubit controla a aplicação da $operação G$ . O portão $\Lambdacontrolado (G)$ pode ser compreendido examinando o seguinte exemplo de uma entrada de estado do produto:

$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$

Ou seja, o portão controlado aplicará $G$ ao registro que contém $\psi$ se e somente se o qubit de controle usar o valor $1$. Em geral, essas operações controladas são descritas em diagramas de circuito pelo seguinte símbolo:

Diagrama de circuito de um portão controlado por singly.

Aqui, o círculo preto indica o bit quântico no qual a porta é controlada e uma transmissão vertical denota o unitário que é aplicado quando o qubit de controle usa o valor $1$.

Para os casos especiais em $que G=X$ e $G=Z$, a notação a seguir é usada para descrever a versão controlada dos portões (observe que o portão controlled-X é o portão CNOT):

Diagrama de circuito para casos especiais de portões controlados.

Q# fornece métodos para gerar automaticamente a versão controlada de uma operação, o que evita que o programador tenha que codificar essas operações manualmente. Um exemplo disso é mostrado abaixo:

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Portões controlados de forma clássica

As portas quânticas também podem ser aplicadas após uma medida, em que o resultado da medida atua como um bit de controle clássico.

O símbolo a seguir representa um portão controlado de forma clássica, em $que G$ é aplicado condicionada ao bit de controle clássico sendo o valor $1$:

Diagrama de circuito que representa uma operação controlada.

Operador de medida

As operações de medida fazem um registro qubit, medem e geram o resultado como informações clássicas.

Uma operação de medição é indicada por um símbolo de medidor e sempre usa como entrada um registro de qubit (indicado por uma linha sólida) e gera informações clássicas (indicadas por uma linha dupla). Especificamente, o símbolo da operação de medida é semelhante a:

Símbolo que representa uma operação de medição.

No Q#, o Measure operador implementa a operação de medição.

Exemplo: transformação unitária

Considere a transformação unitária $\text{ CNOT}_{01}(H\otimes 1)$. Essa sequência de portas é fundamental para a computação quântica porque cria um estado de dois qubit entrelaçados ao máximo:

$\mathrm{CNOT}_{01}(H\otimes 1)\left=\ket{00}\frac{1}{\sqrt{2}}({00}\ket{ + ), \ket{11}\right$

Operações com essa ou mais complexidade são onipresentes em algoritmos quânticos e correção de erro quântico.

O diagrama de circuito para preparar esse estado quântico entrelaçado máximo é:

Diagrama de circuito para um estado de dois qubits maximicamente emaranhado.

O símbolo atrás do portão hadamard representa um portão CNOT, onde o círculo preto indica o qubit de controle e a cruz dentro de um círculo indica o target qubit. Esse circuito quântico é representado como se estivesse agindo em dois qubits (ou dois registros equivalentes que consistem em um qubit).

Exemplo: diagrama de circuito de teletransporte

O teletransporte quântico é um dos melhores algoritmos quânticos para ilustrar componentes de circuito.

O teletransporte quântico é um protocolo que permite que um estado quântico seja transmitido de um qubit para outro, com a ajuda de um estado emaranhado compartilhado entre o remetente e o receptor e a comunicação clássica entre eles.

Para fins de aprendizado, o remetente é chamado de Alice, o receptor é chamado de Bob e o qubit a ser teletransportado é chamado de qubit de mensagem. Alice e Bob seguram um qubit cada, e Alice tem um qubit extra que é o qubit da mensagem.

O diagrama de circuito a seguir ilustra o protocolo de teletransporte:

Diagrama do circuito quântico do protocolo de teletransporte.

Vamos dividir as etapas do protocolo de teletransporte:

  1. O registro qubit rotulado como 0 é a mensagem qubit, o registro qubit rotulado como 1 é o qubit de Alice e o registro qubit rotulado como 2 é o qubit de Bob. O qubit da mensagem está em um estado desconhecido e os qubits de Alice e Bob estão no $\ket{0}$ estado.
  2. Um portão $H$ do Hadamard é aplicado ao qubit de Alice. Como o qubit está no $\ket{0}$ estado , o estado resultante é $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$.
  3. Um portão CNOT é aplicado aos qubits de Alice e Bob. O qubit de Alice é o qubit de controle, e o qubit de Bob é o target qubit. O estado resultante é $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$. Alice e Bob agora compartilham um estado emaranhado.
  4. Um portão CNOT é aplicado ao qubit da mensagem e ao qubit de Alice. Como o qubit de Alice também está emaranhado com o qubit de Bob, o estado resultante é um estado emaranhado de três qubits.
  5. Um portão $H$ do Hadamard é aplicado ao qubit de mensagem.
  6. Alice mede seus dois qubits e comunica os resultados da medida para Bob - isso não se reflete no circuito. Os resultados da medida são dois bits clássicos, que podem levar os valores 00, 01, 10 ou 1
  7. Dois portões Pauli controlados de forma clássica são aplicados ao qubit de Bob, dependendo do bit de resultado ser o valor $1$. O estado resultante é o estado de qubit da mensagem original.

Próximas etapas