Implementação prática da evolução hamiltoniana

8

Seguindo essa pergunta , tentei examinar o artigo citado para simular e resolver o mesmo problema ... sem sucesso. Principalmente, ainda não entendo como os autores conseguiram simular a evolução hamiltoniana através do circuito mostrado na parte inferior da Fig.4. Mesmo exponenciando classicamente a matriz, não obtenho valores dos portões mostrados no circuito Quirk que o @Blue ligou ao longo de sua pergunta.

Tentei examinar o artigo no qual o algoritmo de otimização de líder de grupo é explicado, mas ainda tenho problemas para entender como eles atribuem os ângulos de rotação aos diferentes portões.

FSic
fonte
1
Boa pergunta! Alguns desses valores de ângulo de rotação estão definitivamente errados. @Nelimee experimentou-os em seu programa . Dê uma olhada optim_hamil.py. Uma maneira prática de obter os valores / coeficientes do ângulo de rotação correto é usar algum tipo de algoritmo de otimização multivariada. Nelimee usou o scipy.optimizemódulo para esse fim. No entanto, eu também gostaria de entender pessoalmente o algoritmo de otimização de líder de grupo. O artigo: arxiv.org/abs/1004.2242 é muito vago!
Sanchayan Dutta
O ponto é que, pelo que entendi, eles estão usando algoritmos genéticos para encontrar a configuração ideal para representar uma determinada sub-rotina quântica, o que já me parece estranho, honestamente.
FSic
1
Você pode recuperar os exponenciais das matrizes com este script . E você entendeu corretamente, eles usam um algoritmo genético (que é um tipo de algoritmo de otimização) para encontrar uma decomposição de porta boa (e não a ideal ) que implementa uma matriz unitária que é próxima da que queremos.
Nelimee 20/07
Obrigado pelo script! No entanto, com isso, você obtém diretamente os valores da matriz exponenciada, que pode ser implementada diretamente no Quirk. Eu estava tentando entender como eles conseguem simular essa matriz com os portões fornecidos na figura, porque também tentei calcular o circuito para ver a matriz final, mas acabo tendo algo totalmente diferente. Não excluo por ter feito alguns erros de cálculo.
FSic

Respostas:

5

Não sei por que / como os autores desse artigo fazem o que fazem. No entanto, eis como eu faria isso neste caso especial (e é um caso muito especial):

Pode escrever o Hamiltoniano como uma decomposição Pauli

A=15II+9ZX+5XZ3YY.
Update: Deve ser +3YY . Mas não quero redesenhar todos os meus diagramas, etc., então deixarei o sinal negativo.

eiAθ=e15iθe9iθZXe5iθXZe3iθYY.
CPACP=15II+9IX+5XI3XX.
x5θx9θ

XXe3iθXXx{|00,|11}{|01,|10}insira a descrição da imagem aquiinsira a descrição da imagem aquieiAθz

DaftWullie
fonte
Olá, você conhece algum livro ou artigo que discute o algoritmo geral para decompor o Hamiltoniano em Pauli? Encontrei apenas este site , mas ele não explica a lógica por trás da decomposição nem o algoritmo geral para matrizes maiores (se existir).
Sanchayan Dutta 19/10/1918
2
@Blue O método mais simples é baseado na decomposição da Trotter-Suzuki. Espera-se que essas palavras-chave forneçam uma pesquisa proveitosa. No entanto, existem algoritmos mais novos e muito mais eficientes. Vou precisar desenterrar uma referência ...
DaftWullie 19/10/1918
2
@Blue Aqui está uma palestra que apresenta uma introdução justa + uma visão geral e contém links para alguns dos artigos relevantes: bristol.ac.uk/media-library/sites/maths/events/2015/…
DaftWullie
Fiquei um pouco confuso com a segunda decomposição de Pauli e fiz uma pergunta sobre isso aqui . Se você tiver tempo, considere atendê-lo!
Sanchayan Dutta 19/10/19