Hi all, I would like to ask some specific questions (I’m sorry its very specific, forgive me) about a paper I’m reading. In 1903.06577, authors are playing with the sigma model hamiltonian, and they are showing how they constructed the time evolution circuit with respect to this hamiltonian. They are using four-dimensional Hilbert space (per site), so each site is defined via two-qubit. I was wondering how I can compute the expectation value of this hamiltonian on a quantum circuit instead of time evolution.
So for the interaction terms (please correct me if I’m wrong), they are giving the j_{1,2,3} definition (eq. 8) so I believe it is correct to use that definition to form the hamiltonian i.e. j_1 = \frac{\mathbf{1}\otimes\sigma_2}{\sqrt{3}} = qml.Hamiltonian([1/np.sqrt(3.)], [qml.Identity(0) @ qml.PauliY(1)])
. However, I’m not sure about the kinetic term, they are converting everything into this new T basis they are using but without the conversion, (e.g. 1812.00944 eq 2), the kinetic term for the sigma model is \frac{1}{2\beta}\sum_k^3 J^2_k where J_k is the angular momentum operator. So would it be correct to write it as qml.Hamiltonian([(1/2*betta)*(hbar/2)**2]*3, [qml.PauliX(0) @ qml.PauliX(1), qml.PauliY(0) @ qml.PauliY(1), qml.PauliZ(0) @ qml.PauliZ(1)])
? If I write the entire sum I believe this will give me an identity matrix with a phase. So if I write a simple circuit to calculate the expectation value for only the terms k=0 in kinetic term (for simplicity) and first interaction term
import pennylane as qml
dev = qml.device("default.qubit", wires = 2)
@qml.qnode(dev)
def circuit():
# prepare an initial state (not important)
for wire in range(2):
qml.RY(np.pi/2., wire)
return qml.expval(qml.Hamiltonian([(1/2)**2, 1/np.sqrt(3.)],
[qml.PauliX(0) @ qml.PauliX(1), qml.Identity(0) @ qml.PauliY(1)]))
Would this be correct? Any insight and/or reference is highly appreciated.
Thanks for your time