Vamos dizer que você tem um Hamiltoniano da forma
H= σ1⊗ σ2⊗ σ2⊗ ... ⊗ σn
Há uma construção do circuito simples que permite implementar o seu tempo de evolução e- i Ht . O truque é, basicamente, para decompor o estado que você está evoluindo para os componentes que estão nas ± 1 autoespaços de H . Em seguida, você aplica a fase e- eu t ao espaço e + 1 e a fase e- eu t para oespaço e- 1. O circuito a seguir faz esse trabalho (e desconecta a decomposição no final).
Estou assumindo que o elemento da fase do portão esteja aplicando a unidade
( eeu t0 00 0e- eu t) .
Em geral, se você quiser evoluir algum Hamiltoniano H= H1+ H2 onde H1 e H2 são da forma anterior, então de longe o mais fácil é decompor a evolução como
e- i Ht≈ ( e- i H1t / Me- i H2t / M)M
para alguns M grandes (embora existam algoritmos com comportamento de escala muito melhor) e cada uma dessas pequenas etapase- i H1t / M pode ser implementado com o circuito anterior.
Dito isto, às vezes há coisas mais inteligentes que você pode fazer. O seu exemplo adicional,
H= X⊗ Y⊗ I + Z⊗ I ⊗ Y
é um tal caso. Eu começaria aplicando a rotação unitária você= Z+ Y2√ a qubits 2 e 3. Isto é o equivalente ao portão de Hadamard, mas converteYemZem vez deX. Agora pare por um momento e pense. Se os qubits 2 e 3 estiverem em 00, aplicaremos( X+ Z)ao qubit 1. Para 01, é( X- Z), para 10 é( Z- X)e para 11 é- ( X+ Z). Em seguida, vamos aplicar o não controlado do qubit 2 ao qubit 3. Isso apenas permite um pouco os elementos básicos. Diz agora que temos que aplicar o Hamiltoniano
( - 1 )x2( X+ ( - 1 )x3Z)
para o estado do qubit 1, se os qubits 2 e 3 estiverem nos estadosx2x3 . Em seguida, lembre-se de queX+ Z= 2-√H(Hadamard, não Hamiltoniano) e queX2-√HX= X- Z. Então, isso nos dá uma maneira fácil de converter entre os dois bits do Hamiltoniano. Nós vamos apenas substituir os doisXs com pobres regulamentadas por qubit 3. Da mesma forma, podemos usar uma identidade circuito
onde desta vez vamos substituir oXs com pobres regulamentadas off qubit 2.
No geral, acredito que a simulação
pode parecer complicada, mas não há divisão em pequenos passos que acumulam erros à medida que você avança. Não se aplica com muita frequência, mas vale a pena conhecer esse tipo de possibilidade.