Eu estou procurando o código rápido, ou um algoritmo rápido, para verificar se um determinado estado vetor pode ser transformada em outro estado vector usando apenas a operações Pauli , , .
A estratégia ingênua é simplesmente iterar todas as maneiras de aplicar uma operação Pauli (ou nenhuma operação) a cada um dos qubits, simular a aplicação das operações ( custo de para cada qubit para cada caso) a um dos estados e verifique se o vetor de estado resultante é equivalente ao outro estado. Certamente é possível fazer isso melhor do que no pior caso, tempo?
[Atualização] Estou especificamente interessado no pior desempenho possível. Heurísticas são respostas interessantes e úteis, mas não se tornarão a resposta aceita.
fonte
Escolha um elementoai de A e encontre sua posição em B, desconsiderando as mudanças na fase. A mudança de posição identifica exclusivamente a série de aplicativos X ou Y necessários para a transformação.
A fase relativa do(a0,b0) lhe diz, em passos de −i rotações, quantas Y portas que você precisa para a transformação. A fase relativa de (a1,b1) a (a0,b0) indica que muitos portões Y ou Z atuam no primeiro qubit; e assim por diante para a fase relativa de (a2k−1,b2k−1) a(a0,b0) para asportasY ouZ atuam no qubitk .
Seai não aparecer em B, a transformação não será possível.
Eu acredito que o acima pode ser feito emO(n) -sh.
fonte