Construção geral de

12

Dois dos estados emaranhados mais conhecidos são o estado GHZ |ψ=1/2(|0n+|1n) e oWn-state, comW3=1/3(|100+|010+|001) .

Construir o estado GHZ é simples para n arbitrário . No entanto, a execução do Wn -state é mais difícil. Para n=2 é fácil, e para n=4 podemos usar

H q[0,3]
X q[0,3]
Toffoli q[0],q[3],q[1]
X q[0,3]
Toffoli q[0],q[3],q[2]
CNOT q[2],q[0]
CNOT q[2],q[3]

Mesmo para n=3 , temos implementações, veja esta resposta, por exemplo. No entanto, eu não encontrei um algoritmo que, dado um n , produz o circuito para a construção do Wn .

Existe um algoritmo desse tipo, definido por portas de um e dois qubit? E se sim, o que é isso?

nipônico
fonte

Respostas:

8

Sim, existem várias implementações desse algoritmo no kata quântico de superposição (tarefas 14 e 15):

  • Para n=2k , você pode usar um algoritmo recursivo: crie um estado W nos primeiros 2k1 qubits, aloque um qubit ancilla em |+ , Execute alguns SWAPs controlados para definir o estado dos segundos 2k1 qubits e, em seguida, alguns NOTs controlados para redefinir a ancilla novamente para |0 ( WState_PowerOfTwo_Referenceoperação).
  • Para um n arbitrário , você pode usar um algoritmo recursivo, conforme descrito por DaftWullie ( WState_Arbitrary_Referenceoperação).
  • Há também um truque que você pode usar para criar um Wn estado para uma arbitrária n usando o primeiro algoritmo recursivo. Aloque qubits extras para preencher os n dados em 2k , crie um estado W2k neles e meça os qubits extras; se todos os qubits forem iguais a 0, o estado dos qubits originais é Wn ; caso contrário, redefina e repita o processo ( WState_Arbitrary_Postselectoperação).

Esta é minha tarefa favorita desse kata, porque permite muitas abordagens diferentes.

Mariia Mykhailova
fonte
6

A maneira conceitualmente mais simples de produzir um estado W é algo análogo à amostragem clássica de reservatório , na medida em que envolve uma série de operações locais que acabam criando um efeito uniforme.

Basicamente, você olha para cada qubit por sua vez e considera "quanta amplitude me resta no estado all-0s e quanto quero transferir para o estado just-qubit-is-ON?". Acontece que a família de rotações que você precisa é o que chamarei de "portões de probabilidades", que têm a seguinte matriz:

M(p:q)=1p+q[pqqp]

Usando esses portões, você pode obter um estado W com uma sequência de operações cada vez mais controladas:

transferência fora de 0

Este circuito é um pouco ineficiente. Custou O(N2+Nlg(1/ϵ)) onde N é o número de qubits e ϵ é a precisão absoluta desejada (uma vez que, em um contexto corrigido por erros, as portas de chances não são nativas e devem ser aproximadas) .

Podemos melhorar a eficiência mudando de uma estratégia de "transferência do que foi deixado para trás" para uma estratégia de "transferência do que está viajando". Isso adiciona uma varredura de correção no final, mas requer apenas controles únicos em cada operação. Isso reduz o custo para O(Nlg(1/ϵ)) :

transferência fora de 1

N1/N ). Aqui estão os números relevantes.

A etapa de remoção parcial:

Preparando uma distribuição uniforme com uma etapa de desbaste parcial

Como executar uma operação indexada (bem ... mais ou menos. A figura mais próxima tinha um acumulador que não é o ideal para este caso):

operação indexada

O(Nlg(1/ϵ))O(N+lg(1/ϵ))

Craig Gidney
fonte
4

Você pode definir a sequência recursivamente. Conceitualmente, o que você quer fazer é:

  • |0N

  • 1N(1N1N11)

  • |WN1N|1

  • Aplique um portão de inversão de bits no qubit 1.

Esse algoritmo, como expresso, não é composto apenas de portas de um e dois qubit, mas certamente pode ser decomposto como tal por construções de universalidade padrão.

N=2nn|1|W2|W4|W8 O(logN)

DaftWullie
fonte