Ci sono molte varianti diverse, in particolare per quanto riguarda le condizioni sull'Hamiltoniano. È un po 'un gioco, ad esempio, cercare di trovare la classe più semplice possibile di hamiltoniani per i quali la simulazione è ancora completa di BQP.
La dichiarazione sarà approssimativamente sulla falsariga di: let essere un (normalizzato) stato prodotto, H essere un Hamiltoniana da qualche particolare classe (es costituito esclusivamente di giunti primi vicini su un reticolo unidimensionale), O un'osservabile comprendente un prodotto tensoriale di operatori un corpo tale che ‖ O ‖ ≤ 1 , e t sarà un tempo. Data la promessa che ⟨ ψ | e ho H t O e - i H t | ψ ⟩|ψ⟩HO^∥O^∥≤1t⟨ψ|eiHtO^e−iHt|ψ⟩è maggiore di o inferiore a112+aper alcuniun(esun=112−aa ), decidere qual è il caso.a=16
Maggiori dettagli
La simulazione hamiltoniana è difficile da BQP
La costruzione di base (originariamente dovuta a Feynman, qui leggermente ottimizzata) mostra fondamentalmente come è possibile progettare un hamiltoniano che implementa qualsiasi calcolo quantico, incluso qualsiasi calcolo completo BQP. L'osservabile che dovresti misurare è solo su un particolare qubit di output, i due risultati della misurazione corrispondono a "sì" e "no".Z
Il tipo più semplice di Hamiltoniano a cui potresti pensare è quello di considerare un calcolo di sequenziali U n che agiscono su M qubit, a partire da uno stato | 0 ⟩ ⊗ M . Quindi è possibile introdurre un qubit N aggiuntivo e specificare l' H Hamiltoniano
H = 2N−1UnM|0⟩⊗MN
H=2N∑n=1N−1n(N−n)−−−−−−−−√(|10⟩⟨01|n,n+1⊗U+|01⟩⟨10|n,n+1⊗U†).
|1⟩|0⟩⊗(N−1)|0⟩⊗MNπ/4|0⟩⊗(N−1)|1⟩|Φ⟩|Φ⟩n(N−n)−−−−−−−−√ sono scelti specificamente per dare un'evoluzione deterministica e sono collegati al concetto di
trasferimento perfetto dello stato . Di solito vedrai i risultati dichiarati con accoppiamenti uguali, ma l'evoluzione probabilistica.
Per vedere come funziona, definisci un insieme di stati
| ψn⟩=|0⟩⊗(n−1)|1⟩|0⟩⊗N−n⊗(Un−1Un−2…U1|0⟩⊗M).
The action of the Hamiltonian is then
H|ψn⟩=2N(n−1)(N+1−n)−−−−−−−−−−−−−−−√|ψn−1⟩+2Nn(N−n)−−−−−−−−√|ψn+1⟩,
which proves that the evolution is restricted to an
N×N subspace which is represented by a tridiagonal matrix (which is the specific thing studied in perfect state transfer).
Of course, this Hamiltonian doesn't have any particularly nice properties - it is highly non-local, for example. There are many tricks that can be played to simplify the Hamiltonian to being, for example, one-dimensional. It can even be translationally invariant if you want, at the cost of having to prepare a more complex initial product state (at that point, the computation is no longer encoded in the Hamiltonian, which is universal, but is encoded in the input state). See here, for example.
Hamiltonian Simulation
The evolution of any Hamiltonian which is local on some lattice, acting on an initial product state, for a time that is no more than polynomial in the system size, can be simulated by a quantum computer, and any efficiently implementable measurement can be applied to estimate an observable. In this sense, you can see that Hamiltonian simulation is no harder than a quantum computation, the counter-point to the previous statement that quantum computation is no harder than Hamiltonian simulation.
There are many ways to do this (and there have been some recent papers that show significant improvements in error scaling for certain classes of Hamiltonian). Hre's quite a simple one. Take the Hamiltonian H that you want to simulate. Split it up into different parts, Hi, each of which commutes. For example, on a nearest-neighbour Hamiltonian on some graph, you don't need more pieces than the maximum degree of the graph. You then Trotterize the evolution, writing the approximation
eiHt≈(e−iH1δte−iH2δt…e−iHnδt)t/δt
So, you just have to construct a circuit that implements terms like
e−iH1δt, which is composed of commuting terms
H1=∑nhn, each of which acts only on a small number of qubits.
e−iH1δt=∏ne−ihnδt
Since this is just a unitary on a small number of terms, a universal quantum computer can implement it.