Esta questão é uma continuação da estimativa da fase quântica e do algoritmo HHL - é necessário conhecimento sobre autovalores? .
Na questão acima, perguntei sobre a necessidade do HHL ter informações sobre o espectro eigens da matriz consideradas. Concluiu-se que o algoritmo HHL precisa de uma matriz com valores próprios para funcionar corretamente.
Seguindo essa condição, dada uma matriz , para aplicar o algoritmo HHL, precisamos verificar uma das condições abaixo:
- Os autovalores da matriz estão todos dentro de .
- Um par que se ligou (a partir de baixo para e a partir de cima para ) os valores próprios da matriz . Esses limites podem ser usados para redimensionar a matriz modo que a condição 1. seja validada. L M λ j A A
Primeiro grupo de perguntas: li muitos artigos sobre o HHL e nenhum deles sequer mencionou essa restrição. Por quê? Essa restrição é conhecida, mas considerada fraca (ou seja, é fácil ter esse tipo de informação)? Ou a restrição não era conhecida? Existe algum trabalho de pesquisa que mencione essa restrição?
Vamos falar agora sobre a análise de complexidade do HHL. A partir dos algoritmos de sistemas lineares quânticos: um primer (Dervovic, Herbster, Mountney, Severini, Usher & Wossnig, 2018) , a complexidade do HHL (e várias melhorias) está escrita na imagem abaixo.
A análise de complexidade não leva em consideração (pelo menos eu não a encontrei) o conhecimento necessário sobre o espectro eigens.
O caso em que a matriz considerada possui propriedades suficientemente boas para estimar analiticamente seus valores próprios é incomum (pelo menos para matrizes do mundo real) e é ignorado.
Em esta resposta , @DaftWullie usa o círculo teorema de Gershgorin para estimar os limites superiores e inferiores do eigenspectrum. O problema dessa abordagem é que são necessárias operações ( se a amplificação de amplitude for aplicável). Esse número de operações destrói a complexidade logarítmica do HHL (e é apenas uma vantagem sobre os algoritmos clássicos ao mesmo tempo).O ( √
Segundo grupo de perguntas: Existe um algoritmo melhor em termos de complexidade? Caso contrário, por que o algoritmo HHL ainda é apresentado como uma melhoria exponencial em relação aos algoritmos clássicos?
fonte
Respostas:
A restrição nos valores próprios geralmente é dada na forma de um número de condição . Este é oκ que você vê em todos os tempos de execução da sua tabela. κ=|λmax/λmin| onde λmax e λmin são os valores próprios máximos e mínimos, respectivamente.
Em todos os tempos de execução listados em sua tabela, supõe-se que o número da condição seja conhecido. Normalmente, não se pensa em "calcular o número da condição" como parte do algoritmo para resolverAx=b , por exemplo. Se o número da condição for maior, o sistema será mais difícil de resolver e, se for menor, será mais fácil resolver o sistema (assumindo que todos os outros parâmetros, incluindo o erro máximo desejado ϵ sejam mantidos fixos).
Em termos de necessidade de saber queλmax<M e λmin>L , há muitos exemplos em que podemos conhecer os limites dos valores próprios sem realmente passar pelo esforço de calcular os valores próprios. Dessa forma, o HHL pode ser uma ótima maneira de encontrar o estado que você está procurando, sem o custo de calcular o número da condição ou quaisquer valores próprios.
Deixe-me dar apenas um exemplo do mundo real. Digamos que eu quero encontrar o estado vibracional molecular|ψ⟩ de tal modo que depois de t=10 ps de evolução sob o seu hamiltoniano H , as extremidades da molécula-se em estado |b⟩ . Isso pode ser descrito pela equação:
onde o|ψ⟩ satisfazer esta equação é o que você quer saber. Você pode encontrar o seu desejado |ψ⟩ usando o algoritmo HHL com A=e−iℏHt e|ψ⟩=|x⟩ .
Obter os autovalores menores e maiores de uma precisão hamiltoniana molecular com precisão arbitrária é extremamente oneroso em um compactador clássico, mas saber que eles estão dentro da faixa(L,M) pode ser determinado sem nenhum custo. Por exemplo, se a molécula é o dímero de nitrogênio, sabemos que os estados vibratórios mais baixo e mais alto têm energias (valores próprios) entre 0 e 10 eV e, como e0=1 , temos L=1 e M=e−iℏ10eV⋅10ps . Você pode converter eV para Hz e ps em segundos para avaliarM numericamente e, em seguida, obter os limites inferior e superior que você precisa usar ao dimensionar sua matriz da maneira descrita na pergunta anterior. Em nenhum momento eu precisei calcular os autovalores de um hamiltoniano molecular de 14 elétrons (o que seria extremamente difícil e derrotaria o objetivo de usar o HHL, porque se eu pudesse calcular os autovalores, poderia apenas calcularA e invertê-lo para obter|ψ⟩ ) Eu apenas usei a energia de dissociação da molécula para criar os limites de suas energias vibracionais. Eu poderia ter criado limites ainda melhores usando a aproximação semi-clássica do WKB , também com muito menos custo do que realmente calculando os valores próprios, mas o primeiro exemplo já é suficiente.
Então agora vamos abordar todas as suas perguntas individuais:
Dos 539 artigos que (atualmente) citaram o artigo original do HHL, muitos deles não conhecerão os detalhes mais refinados, como a dependência de seu desempenho no número da condição ou nos valores próprios. Alguns trabalhos certamente saberão que o desempenho do algoritmo dependerá do número da condição ou dos valores próprios da matriz, ou seja, os trabalhos listados em sua tabela sobre melhorias no algoritmo HHL. Robin Kothari também mencionou, por exemplo, no início de sua palestra em 2016 sobre o algoritmo CKS (mencionado na sua tabela).
Você está certo, as pessoas devem mencionar as advertências de algoritmos com mais frequência em seus trabalhos. Em termos de sua pergunta específica "por que o algoritmo HHL ainda é apresentado como uma melhoria exponencial em relação aos algoritmos clássicos", acho que os autores originais HHL fizeram a devida diligência em explicar o algoritmo e suas advertências, pois disseram que há um exponencial mas o custo aumenta quadraticamente com o número e a escarsidade da condição e inversamente com o tamanho do erro que você deseja tolerar. Por que a maioria das pessoas após o HHL não menciona todas as advertências? Bem, muitos deles não conhecem as advertências, e aqueles que sabem podem ter sentido que isso não era necessário, pois calcular o número da condição não faz parte do algoritmo. Saber o número da condição informará como o algoritmo funcionará,
fonte