Como construir um Z controlado por vários qubit a partir de portas elementares?

9

Para a implementação de um certo algoritmo quântico, preciso construir um portão Z controlado por vários qubit (neste caso, três qubit) a partir de um conjunto de portas elementares, como mostra a figura abaixo. Portão Z controlado de três qubit. .

Os portões que eu posso usar são

  • os portões de Pauli X,Y,Z e todos os seus poderes (ou seja, todas as rotações de Pauli até um fator de fase),
  • exp(Euθ|1111|) (rotação sobre|1111| projetor),
  • H (Hadamard),
  • CX (X-CNOT controlado por qubit único),
  • CZ (Z controlado por qubit único) e
  • S (SWAP).

Como posso construir esse Z controlado de três qubit a partir desses portões? Eu li vários artigos sobre decomposições de circuitos, mas nenhum deles poderia me dar uma resposta clara e concisa.

Dyon J Don Kiwi van Vreumingen
fonte
Seu quarto registro deve ter um Z em vez de um círculo preto?
user1271772
11
@ user1271772 Ambos estão bem. Como os portões Z controlados são simétricos nos qubits usados ​​(ou seja, é possível trocar dois qubits e o efeito do gate permanecerá o mesmo), uma notação sem ordem, como aquela com pontos pretos, foi considerada mais apropriada na literatura recente.
Dyon J Don Kiwi van Vreumingen

Respostas:

5

(EDIT: Melhorado para 14 CNOTs.)

Isso pode ser feito com 14 CNOTs, mais 15 rotações Z de um qubit único e sem qubits auxiliares.

O circuito correspondente é

insira a descrição da imagem aqui

onde os ± portões são rotações

Rz(±π/16)(1e±iπ/8)


Derivação:

Usando o procedimento descrito em https://arxiv.org/abs/quant-ph/0303063 1 , qualquer porta diagonal - qualquer uma, em particular a porta CCCZ - pode ser decomposta em termos de, por exemplo, CNOTs e portas diagonais de um qubit, onde os CNOTs podem ser otimizados por conta própria, seguindo um procedimento clássico de otimização.

A referência fornece um circuito usando 16 CNOTs para portas diagonais arbitrárias de 4 qubit (Fig. 4).

Isso pode ser melhorado se pares arbitrários de qubits puderem ser acoplados a 14 qubits. Para vizinhos mais próximos com condições de contorno periódicas (abertas), isso pode ser feito com 16 (18) CNOTs. Os circuitos correspondentes pode ser encontrada em https://epub.uni-regensburg.de/1511/ 1 , a Fig. 5.2, 5.4, e 5.5, e pode por exemplo ser obtida usando métodos para a construção de sequências de cinzentos curtos.

O número de portas de um qubit é sempre 15.


Observação: Embora possa, em princípio, ser um circuito mais simples (dito circuito foi otimizado com uma arquitetura circuito mais restrito em mente), ele deve estar próxima do ideal - as necessidades de circuitos para criar todos os estados da forma iIxi para qualquer subconjunto não trivial I{1,2,3,4} , e existem 15 daqueles para 4 qubits.

Observe também que essa construção de forma alguma precisa ser ideal.


1 Nota: sou um autor

Norbert Schuch
fonte
E o uso dos portões Rx (ou Ry) em vez dos portões Rz tornaria esse um portão X (ou Y-Y) controlado por vários qubit?
Sierox 22/10/19
@Sierox Você só precisa transformar Hadamard tudo no qubit inferior, ou seja, os CNOTs correspondentes se tornarão CZs, e as rotações no qubit inferior se tornarão X rotações.
Norbert Schuch
6

Você pode implementar um U controlado por qubit pelo circuito fornecido nesta resposta . Basta substituir U por Z . No entanto, isso requer portões CCNOT (Toffoli) e você tem algumas opções para implementar o CCNOT usando portões elementares .nvocêvocêZ

user1271772
fonte
2
Isso fornece um circuito com profundidade potencialmente excessiva. Talvez o OP queira um circuito mais raso com esse portão configurado. Pode-se executar um procedimento automático para reduzir moderadamente o tamanho do circuito.
AHusain
@ Ahusain: Qual é o procedimento automático?
user1271772
2
Ele usa os resultados da teoria dos grupos automáticos, então isso foi um trocadilho. A explicação iria para outro lugar; não é um breve comentário.
AHusain
Okay @AHusain, vou fazer uma pergunta feita apenas para você!
user1271772
5

Aqui está uma construção do CCCZ que usa 29 portas :

o circuito

Se você puder usar a medição e o feedforward clássico, a contagem de gateways poderá ser reduzida para 25 :

o circuito

(Os portões Hadamard podem ser substituídos por raízes quadradas de Y, se necessário, para atender à restrição do conjunto de portões.)

E se você me permitir executar portões Controlado-S e Controlado-sqrt (X) e realizar medições com base em X, então posso reduzi-lo a 10 portões no total :

o circuito

Craig Gidney
fonte
Mas você está usando uma medida + portão controlado condicional no final. Eu diria que isso está fora das regras "normais" do jogo. (Por exemplo, se você iria substituir este por um portão controlado e adiar a medição, você ainda usar um Toffoli.)
Norbert Schuch
11
@ NorbertSchuch É por isso que eu prefácio o segundo diagrama com "se você tem permissão para usar a medição e o avanço clássico". Observe que o primeiro diagrama não usa essas coisas.
Craig Gidney
Ups. Desculpa. Mea culpa. Eu não deveria ter apenas olhado as fotos e rolado um pouco: - |
Norbert Schuch
No final do primeiro circuito, o qubit é descartado. Como eu teria que tratar esse qubit se precisasse de vários CCCZs em sequência?
Dyon J Don Kiwi van Vreumingen 27/08/18
Você o alimentaria no próximo CCCZ, mas eliminaria as duas primeiras operações no circuito do segundo CCCZ. Essas operações estão preparando-o para um estado T, que é o estado final do qubit descartado. Portanto, o segundo CCCZ teria 2 operações a menos.
Craig Gidney
4

Estou postando outra decomposição do CCCZ aqui, caso seja útil para qualquer outra pessoa que esteja tentando compilar o CCCZ. Requer um número menor de portas totais e apenas 1 qubit auxiliar em vez de 2, mas cinco portas a mais de 2 qubit que a resposta "óbvia"; portanto, pode ser pior para a implementação no hardware.

Foi sugerido pelo usuário @Rob neste comentário: Compilação automática de circuitos quânticos , e vem deste artigo .

insira a descrição da imagem aqui

(χ)

n=5χEuj=χ

user1271772
fonte
11
χEuj
@ NorbertSchuch: a pergunta pede que o CCCZ não faça log (CCCZ). Se fizéssemos log (CCCZ), o que você provavelmente sugere, já que o GMS5 é um exponencial de portas elementares e o logaritmo dele seria possivelmente mais simples de implementar, seria fácil obter a saída do CCCZ da resposta para o log ( CCCZ)?
user1271772
Eu não tenho idéia do que você está falando. Soma de produtos ou Paulis NÃO são fáceis de implementar. Eles nem são unitários. --- Mas os logaritmos dos unitários são hamiltonianos, portanto, se você puder evoluir no tempo com o log (CCCZ) por meio de uma configuração experimental inteligente, você receberá o CCCZ com "um portão" nessa contagem.
Norbert Schuch
2
@NorbertSchuch: Seu comentário "exp (-iHt) dificilmente é adiabático" é semanticamente nulo e não faz nenhum sentido. Por que você me perguntou "por que não pegar o logaritmo do portão da CCCZ?" ?
user1271772
11
@ user1271772 apenas para acrescentar ao que (acredito) Norbert está dizendo nos comentários: o problema de tentar encontrar hamiltonianos independentes do tempo gerando diretamente portões não triviais (CCX e outros são considerados no artigo) foi estudado em arxiv.org/ abs / 1803.07119 . O problema nesse cenário é o de encontrar hamiltonianos que contêm apenas interações viáveis ​​e ainda geram o portão de destino. O recurso, portanto, tornar o que interações hamiltonianos são permitidos, ao invés do que portas elementares são permitidos
GLS
4

TZ1 1/4

insira a descrição da imagem aqui

T|1 1HXTXTXTXTHXTX=Te-Euπ/4-EuHT4H=-EuXZ1 1/4XZ-1 1/4X=Z1 1/4

Observe também que os dois portões de Toffoli são apenas Toffoli porque têm como alvo o estado 0. Normalmente você precisaria de um portão extra de dois qubit.

Não encontrei uma construção tão eficiente na literatura existente, embora este artigo reivindique uma construção usando apenas 11 portas de 2 qubit, mas não fiz uma contagem completa de portas depois de convertida no conjunto de portas restritas da pergunta.

DaftWullie
fonte
Parece que você não é sth. na metade inferior do circuito - mas eu não acho muito difícil sobre isso;)
Norbert Schuch
Desconectei a ancilla, além de uma rotação irrelevante de um único qubit nela. É o que o último Toffoli faz. Suponho que Toffoli deva estar em vírgulas invertidas, pois falta esse 1 portão no final.
DaftWullie
Tem certeza de que o primeiro bloco é um Toffoli - ou é apenas um Toffoli na ancilla? (Lembro que o melhor que se podia fazer por Toffoli era cerca de 8 CNOTs).
Norbert Schuch
Acho que você está perdendo uma correção de fase CS nos dois primeiros qubits no bloco do meio. Você deve conseguir soltar a CZ mais à esquerda de cada um dos blocos laterais.
Craig Gidney
Vou verificar cuidadosamente na terça-feira. Eu pensei que esta formulação evitasse o cS.
DaftWullie
2

Embora minha outra resposta seja a maneira mais óbvia de "livro didático" (usando a decomposição do CCCZ da Nielsen & Chaung em CCNOTs , em seguida, outra decomposição do livro para compilar os CCNOTs ), uma maneira mais criativa pode nos permitir fazer o trabalho com menos portões.

Passo 1:

Substitua todos os CNOTs no circuito da Nielsen & Chuang por este gadget:

insira a descrição da imagem aqui

Passo 2:

Agora temos um monte de CCZs em vez de CCNOTs, e eles podem ser decompostos assim (cortesia deste artigo ):

insira a descrição da imagem aqui

Etapa 3:

H2=Eu

user1271772
fonte
Qual é a contagem dos portões?
Norbert Schuch