Possibilidade de um portão quântico "reset"


8

Eu gostaria de ter um portão "reset". Essa porta teria um efeito de trazer um qubit ao estado . Claramente, esse portão não é unitário (e, portanto, não consigo encontrar nenhuma implementação confiável em termos de portões universais).0 0

Agora, para minhas necessidades particulares, preciso dessa capacidade de redefinir um registro qubit ou quântico para esse estado, para que os usuários sempre possam começar de . Estou criando uma pequena linguagem de programação que transpila para o QASM e, quando uma função é encerrada, desejo que todas as variáveis ​​locais (quânticas) (qubits) sejam redefinidas para para que possam ser reutilizadas. A instrução de redefinição do QASM não funciona no processador real.0 00 0

Eu acho que algo nesse sentido pode ser alcançado com a estimativa da fase quântica, mas estou me perguntando se existe outra maneira.


"Eu quero que todas as variáveis ​​locais (quânticas) (qubits) sejam redefinidas para para que possam ser reutilizadas" => na maioria das vezes, isso deve ser realizado por descomputação e não redefinindo brutalmente os qubits não utilizados. Se um desses qubit "não utilizados" ainda estiver emaranhado com um qubit "em uso", a redefinição do qubit não utilizado também afetará o estado do qubit usado, que na maioria das vezes não é desejável. |0 0
Nelimee

@Nelimee eu concordo. A redefinição brutal não é segura. Estou começando a decidir simplesmente alertar os usuários quando um qubit (registrador) já estiver em uso.
Ntwali B.

1
@Nelimee Se eles estiverem emaranhados, a não-computação também afetará esses qubits emaranhados de uma maneira ou de outra.
Norbert Schuch

@ Blue obrigado pela edição. Nem percebeu o quão absurdo era o título da pergunta.
Ntwali B. 4/08

Respostas:


6

Uma forma é simplesmente para medir o qubit no padrão, , base. Se você obtiver a resposta 0, terá o estado que deseja. Caso contrário, você aplica um pouco de inversão.Z

De fato, se você deseja implementar uma operação não unitária, precisa de algum tipo de operação de medição em algum lugar, seja uma medição direta ou a implementação de um mapa de CP ou POVM (mas para essas opções, é necessário introduzir ancillas de um estado fixo, que nega a questão). Ou você pode usar ruído no sistema, mas é improvável que você tenha controle suficiente - afinal, é ruído! Obviamente, nenhuma dessas opções apenas redefiniu um único qubit; qualquer coisa com a qual o qubit esteja emaranhado também é afetado, mas isso está na definição de "redefinição" no contexto quântico.

A única outra opção é desativar o cálculo, mas essa não é uma opção genérica porque, genericamente, você precisa calcular o cálculo inteiro para redefinir um único qubit, e isso redefine tudo. Exceto que não funciona perfeitamente por causa de erros. Seria melhor iniciar um novo cálculo. Existem cenários específicos em que um qubit ancilla é usado e pode ser desconectado, mas isso geralmente é incorporado ao algoritmo porque a etapa de desconsideração é importante para se livrar de alguns emaranhados indesejados que, de outra forma, apareceriam.


Isso foi próximo, mas como eu estou segmentando o QASM, ele não permite a aplicação de portas adicionais para qubits após a medição. E, é claro, quaisquer qubits emaranhados também terão seus estados determinados. Como comentado em outras respostas, minha tentativa é equivocada, mas agradeço todas as respostas.
Ntwali B.

1
Você precisa distinguir entre o que o QASM não permite e o que o hardware atual não permite. Descanse ou aplique um gate após a medida estar completamente correto no QASM (estou falando do OpenQASM). Mas é uma limitação do hardware atual que essas operações não podem ocorrer. Se você criar esse QASM, ainda poderá simulá-lo. E o hardware de um futuro não tão distante também o suportará.
Ali Javadi 01/08/19

0 0

3

Eu não acho que você pode conseguir isso com um único portão, mas o interessante dos portões quânticos e das transformações unitárias é que eles são reversíveis, portanto, ao implementar uma função em seu circuito quântico, tudo o que você precisa fazer é 'não-indecente' apenas revertendo os portões que você usou.

|0 0

Isso significa que você precisa "redefinir" de uma maneira específica para cada função.


4
isso só funciona se você souber que nenhum erro ocorreu. Em um sistema barulhento, você não pode desfazer o ruído.
DaftWullie

1
Esta não é uma má ideia. E do ponto de vista da programação, é factível também. Embora, depois de muita reflexão, essa minha tentativa seja equivocada por três razões: 1) a descomputação reverterá a computação útil e, para o descontentamento dos usuários, a função parecerá não fazer nada 2) 1. 3) como o @DaftWulie acabou de sugerir, a presença de erros torna o esquema instável e os erros provavelmente ocorrerão. Mas estou feliz que você tenha proposto isso. Obrigado.
Ntwali B. 31/07/19

2
@NtwaliB. Para a lógica clássica, é sempre possível não calcular (= redefinir) o espaço de trabalho ancilla, mantendo o resultado desejado, esse é o ponto principal da computação reversível clássica.
Norbert Schuch

@NorbertSchuch Isso é verdade. Mas eu estava falando sobre qubits arbitrários e não ancilla cbits após a medição.
Ntwali B. 4/08
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.