Partilhar via


Convenções de diagramas de circuitos quânticos

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

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

Leitura de diagramas de circuitos quânticos

Num circuito quântico, o tempo flui da esquerda para a direita. Os portões quânticos são ordenados em ordem cronológica com o portão mais à esquerda como o portão aplicado pela primeira vez aos qubits.

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

Diagrama de um circuito quântico com dois registos, um portão hadamard, um portão controlado e uma medição.

  1. Registro Qubit: Os registradores Qubit são exibidos como linhas horizontais, com cada linha representando um qubit. A linha superior é o registro de qubit rotulado como 0, a segunda linha é o registro de qubit rotulado como 1, e assim por diante.
  2. Porta quântica: As operações quânticas são representadas por portas quânticas. O termo porta quântica é análogo às portas lógicas clássicas. Portões que atuam em um ou mais registradores de qubit são indicados como uma caixa. Neste exemplo, o símbolo representa uma operação de Hadamard.
  3. Portão controlado: Os portões controlados atuam em dois ou mais qubits. Neste exemplo, o símbolo representa uma porta 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 contador representa uma operação de medição. A operação de medição usa um registro de qubit como entrada e saída de informações clássicas.

Aplicação de portas quânticas

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

Diagrama de portas quânticas sendo aplicadas da esquerda para a direita em um circuito quântico.

Nota

A multiplicação matricial obedece à convenção oposta: a matriz mais à direita é aplicada primeiro. Em diagramas de circuitos quânticos, no entanto, a porta mais à esquerda é aplicada primeiro. Esta diferença pode, por vezes, levar a confusão, por isso é importante notar esta diferença significativa entre a notação algébrica linear e os diagramas de circuitos quânticos.

Entradas e saídas de circuitos quânticos

Em um diagrama de circuito quântico, os fios que entram em uma porta quântica representam os qubits que são entrada para a porta quântica, e os fios que saem da porta quântica representam os qubits que são saída da porta quântica.

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

Por esta razão, qualquer caixa desenhada num diagrama de circuito deve ter precisamente o mesmo número de fios que entram nela que saem dela.

Operações multi-qubit

Os diagramas de circuitos multiqubit seguem convenções semelhantes aos diagramas de qubit único. Por exemplo, uma operação $unitária de dois qubits B$ pode ser definida como sendo $(H S\otimes X),$ de modo que o circuito quântico equivalente é o seguinte:

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

Você também pode ver $B$ como tendo uma ação em um único registro de dois qubits em vez de dois registradores de um qubit, dependendo do contexto em que o circuito é usado.

Talvez a propriedade mais útil de tais diagramas de circuitos abstratos é que eles permitem que algoritmos quânticos complicados sejam descritos em um alto nível sem ter que compilá-los até portas fundamentais. Isso significa que você pode obter uma intuição sobre o fluxo de dados para um grande algoritmo quântico sem precisar entender todos os detalhes de como cada uma das sub-rotinas dentro do algoritmo funciona.

Portões controlados

Portas controladas quânticas são portas de dois qubits que aplicam uma porta de qubit único a um target qubit se um qubit de controle estiver em um estado específico.

Por exemplo, considere uma porta controlada quântica, denotada $\Lambda(G),$ onde o valor de um único qubit controla $a aplicação da operação G$ ,. A porta $\Lambdacontrolada (G)$ pode ser entendida observando o seguinte exemplo de uma entrada de estado do produto:

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

Ou seja, o portão controlado aplica-se $G$ ao registo contendo $\psi$ se e somente se o qubit de controle tomar o valor $1$. Em geral, essas operações controladas são descritas em diagramas de circuitos pelo seguinte símbolo:

Diagrama de circuito de um portão controlado individualmente.

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

Para os casos especiais em $que G=X$ e $G=Z$, a seguinte notação é usada para descrever a versão controlada dos portões (note que o portão controlado 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 manualmente essas operações. Um exemplo disso é mostrado abaixo:

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

Portões classicamente controlados

Portões quânticos também podem ser aplicados após uma medição, onde o resultado da medição atua como um bit de controle clássico.

O símbolo a seguir representa uma porta classicamente controlada, onde $G$ é aplicado condicionado ao bit de controle clássico ser valor $1$:

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

Operador de medição

As operações de medição tomam um registro de qubit, medem-no e produzem o resultado como informação clássica.

Uma operação de medição é denotada por um símbolo de medidor e sempre toma como entrada um registro de qubit (denotado por uma linha sólida) e produz informações clássicas (denotadas por uma linha dupla). Especificamente, o símbolo da operação de medição se parece com:

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

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

Exemplo: transformação unitária

Considere a transformação $\text{ unitária CNOT}_{01}(H\otimes 1)$. Esta sequência de portas é de importância fundamental para a computação quântica porque cria um estado de dois qubits maximamente emaranhado:

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

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

O diagrama de circuito para preparar este estado quântico maximamente emaranhado é:

Diagrama de circuito para um estado de dois qubits maximamente 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. Este circuito quântico é descrito como agindo em dois qubits (ou equivalentemente dois registros consistindo de um qubit).

Exemplo: Diagrama de circuito de teletransporte

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

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 emissor e o recetor, e a comunicação clássica entre eles.

Para fins de aprendizagem, o remetente é chamado Alice, o recetor é chamado Bob, e o qubit a ser teletransportado é chamado de qubit de mensagem. Alice e Bob possuem 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 detalhar as etapas do protocolo de teletransporte:

  1. Qubit register q0 é a mensagem qubit, qubit register q1 é o qubit de Alice e qubit register q2 é 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 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. Uma porta CNOT é aplicada 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 Hadamard é aplicado ao qubit da mensagem.
  6. Alice mede os seus dois qubits e conta os resultados da medição a Bob, o que não se reflete no circuito. Os resultados da medição são dois bits clássicos, que podem tomar os valores 00, 01, 10 ou 11.
  7. Duas portas Pauli classicamente controladas X e Z são aplicadas ao qubit de Bob, dependendo do bit de resultado ser valor $1$. O estado resultante é o estado qubit da mensagem original.