Estou tentando entender o famoso algoritmo Quantum (?) Para sistemas de equações lineares (Harrow, Hassidim & Lloyd, 2009) (mais conhecido popularmente como o algoritmo HHL09 ) há algum tempo, agora.
Na primeira página, eles dizem :
Esboçamos aqui a idéia básica do nosso algoritmo e, em seguida, discutimos mais detalhadamente na próxima seção. Dado um Hermitian matriz , e uma unidade de vetor , suponha que nós gostaríamos de encontrar satisfazendo . (Discutimos questões de eficiência posteriores, bem como como as suposições que fizemos sobre e podem ser relaxadas.) Primeiro, o algoritmo representa como um estado quântico . Em seguida, usamos técnicas de simulação hamiltoniana [3, 4] para aplicar aA → b → x A → x = → b A → b → b | b ⟩ = Σ N i = 1 b i | i ⟩ e i A t | b i ⟩ t A | b ⟩ Um λ j Σ j = N j = 1 β j | você jpara uma superposição de tempos diferentes . Essa capacidade de exponenciar traduz, por meio da conhecida técnica de estimativa de fase [5–7], na capacidade de decompor na base própria de e encontrar os valores próprios correspondentes Informalmente, o estado do O sistema após este estágio está próximo de , em que é a base do vetor próprio de e .u j A | b ⟩ = Σ j = N j = 1 β j | u j ⟩
Por enquanto, tudo bem. Conforme descrito em Nielsen & Chuang no capítulo " A transformada quântica de Fourier e suas aplicações ", o algoritmo de estimativa de fase é usado para estimar em que é o valor próprio correspondente a um vetor próprio do operador unitária .e i 2 pi φ | u ⟩ U
Aqui está a parte relevante da Nielsen & Chuang:
O algoritmo de estimativa de fase usa dois registros. O primeiro registro contém qubits inicialmente no estado . A escolha de depende de duas coisas: o número de dígitos de precisão que desejamos ter em nossa estimativa para e com que probabilidade desejamos que o procedimento de estimativa de fase seja bem-sucedido. A dependência de dessas quantidades emerge naturalmente da análise a seguir.| 0 ⟩ t φ t
O segundo registro começa no estado e contém quantos qubits são necessários para armazenar . A estimativa de fase é realizada em dois estágios. Primeiro, aplicamos o circuito mostrado na Figura 5.2. O circuito começa aplicando uma transformação Hadamard ao primeiro registro, seguida pela aplicação de operações controladas no segundo registro, com elevado a potências sucessivas de dois. O estado final do primeiro registro é facilmente visto como sendo:| u ⟩ U U
O segundo estágio da estimativa de fase é aplicar a transformada de Fourier quântica inversa no primeiro registro. Isso é obtido revertendo o circuito para a transformada quântica de Fourier na seção anterior (Exercício 5.5) e pode ser feito nas etapas . O terceiro e último estágio da estimativa de fase é ler o estado do primeiro registro fazendo uma medição na base computacional. Mostraremos que isso fornece uma estimativa muito boa de . Um esquema geral do algoritmo é mostrado na Figura 5.3.φ
Para aprimorar nossa intuição sobre o funcionamento da estimativa de fase, suponha que possa ser expresso exatamente como int bits, como . Então o estado (5.20) resultante do primeiro estágio da estimativa de fase pode ser reescritoφ = 0. φ 1 . . . φ t
O segundo estágio da estimativa de fase é aplicar a transformada de Fourier quântica inversa. Mas comparando a equação anterior com a forma do produto para a transformada de Fourier, Equação (5.4), vemos que o estado de saída do segundo estágio é o estado do produto . Uma medida na base computacional, portanto, nos dá exatamente!
Resumindo, o algoritmo de estimativa de fase permite estimar a fase de um autovalor de um operador unitário , dado o vetor correspondente . Uma característica essencial no coração deste procedimento é a capacidade da transformação inversa de Fourier para realizar a transformação
Vamos prosseguir daqui. Encontrei um belo diagrama de circuitos para o algoritmo HHL09 aqui [ ] :
Etapa 1 (estimativa de fase):
No primeiro passo do algoritmo HHL09 o mesmo conceito (do algoritmo padrão Quantum fase de estimativa como descrito em Nielsen e Chuang) é usado. No entanto, devemos ter em mente que por si só não é um operador unitário. No entanto, se assumirmos que é Hermitian então o exponencial é unitária (não se preocupe, há existe uma solução alternativa no caso de não é Hermitian!).
Aqui, podemos escrever . Há outro ponto sutil envolvido aqui. Nós não sabemos os autovetores de antemão (mas nós sabemos que para qualquer matriz unitária de tamanho existem autovetores ortonormais). Além disso, precisamos lembrar a nós mesmos que, se os autovalores de forem , os autovalores de serão . Se compararmos isso com a forma de autovalores dados em Nielsen e Chuang para isto é, se , encontraríamos . Neste caso, começamos no estado (o qual pode ser escrito como uma superposição dos vectores próprios de isto é ) em vez de qualquer vetor próprio de , no que diz respeito ao segundo registro de qubits. Se tivéssemos começado no estado , teríamos terminado com ie (considerando que | b⟩Ué o valor próprio associado ao vetor próprio de ). Agora, se começarmos pela superposição de vetores próprios , devemos terminar com .
Questão:
Parte 1 : No artigo do HHL09 , eles escreveram sobre o estado do sistema após a etapa de Estimativa de Fase ser . No entanto, pelo que escrevi acima, parece-me que o estado do sistema deveria ser .
O que estou perdendo aqui? Onde o fator desapareceu em seu algoritmo?
Edit: A Parte 2 foi solicitada aqui para tornar as perguntas individuais mais focadas.
Também tenho várias confusões sobre as Etapas 2 e 3 do algoritmo HHL09, mas decidi publicá-las como threads de perguntas separadas, pois esta está se tornando muito longa. Vou adicionar os links a esses tópicos de perguntas, neste post, depois que eles forem criados.
[ ]: experimentos de criptografia homomórfica na plataforma de computação em nuvem da IBM em nuvem Huang et al. (2016)
fonte
Respostas:
Depende dos papéis, mas vi duas abordagens:
Na maioria dos artigos que li sobre o algoritmo HHL e sua implementação, o tempo de evolução hamiltoniano é modo que esse fator desapareça, ou seja, .t = t 0 = 2 πt t=t0=2π
O valor próprio aproximado é geralmente escrito . Em alguns trabalhos, essa notação realmente significa "a aproximação do verdadeiro autovalor " e, em outros trabalhos, parece incluir nessa definição, ou seja, " é a aproximação do valor de ". Xλ~ λ t2π λ~ λt2π
Aqui estão alguns links:
Algoritmos de sistemas lineares quânticos: um primer (Dervovic, Herbster, Mountney, Severini, Usher & Wossnig, 2018) : um artigo completo e muito bom sobre o algoritmo HHL e algumas melhorias descobertas. O artigo é de 22 de fevereiro de 2018. O valor de seu interesse é abordado pela primeira vez na página 30, na legenda da Figura 5, e é fixado em .t 2π
Projeto de circuito quântico para resolver sistemas lineares de equações (Cao, Daskin, Frankel & Kais, 2013) (pegue a v2 e não a v3): uma implementação detalhada do algoritmo HHL para uma matriz 4x4 fixa. Se você planeja usar o artigo, avise-o de que existem alguns erros nele. Posso fornecer os que encontrei se estiver interessado. O valor de (que é indicado como neste artigo) é fixado em na segunda página (no início da coluna da direita).t t0 2π
Computação quântica experimental para resolver sistemas de equações lineares (Cai, Weedbrook, Su, Chen, Gu, Zhu, Li, Liu, Lu & Pan, 2013) : uma implementação do algoritmo HHL para uma matriz 2x2 em uma configuração experimental. Eles corrigem na legenda da Figura 1.t=2π
Realização experimental do algoritmo quântico para resolver sistemas lineares de equações (Pan, Cao, Yao, Li, Ju, Peng, Kais & Du, 2013) : implementação de HHL para uma matriz 2x2. A implementação é semelhante à apresentada no segundo ponto acima, com a matriz 4x4. Eles corrigem na página 3, ponto de marcador n ° 2.t0=2π
fonte
Lembre-se de que, na notação Dirac, o que você escreve dentro do ket é um rótulo arbitrário que se refere a algo mais abstrato. Portanto, é verdade que você está encontrando o vetor próprio (aproximado) para , que tem valor próprio e, portanto, o que você está extraindo é , mas isso é o mesmo que o vetor próprio de com valor próprio , e é o que está sendo referido na notação. Mas se você quiser ser bem claro, pode escrever comoe - i λ t λ t / ( 2 π ) A λU e−iλt λt/(2π) A λ
| autovetor aproximado de para o qual o autovalor é e de para o qual autovalor se ,e - i λ t A λ ⟩U e−iλt A λ⟩
mas talvez, em vez de escrever isso toda vez, possamos escrever por de brevidade!|λ~⟩
fonte