Is my understanding correct that in this example the Hamiltonian measurement is not performed through measuring individual Pauli operators because all its terms are mutually commuting? So, for each run, we just measure all the qubits in the $Z$ basis, and substitute the values into the classical expression?

But if we added a term like $X_1 Y_2$, we would have to double the number of runs, right?


2 Answers 2


If we have prepared an arbitrary anzats/trial two-qubit state:

$$\psi = a |00\rangle + b |01\rangle+ c |10\rangle+ d |11\rangle$$

And we want to calculate the expectation value of individual Pauli terms of this Hamiltonian that is the two qubit case of the used one in the VQE Cirq example:

$$ \langle H \rangle = \alpha_1 \langle Z_1 Z_2 \rangle + \alpha_2 \langle Z_1 \rangle + \alpha_3 \langle Z_2 \rangle $$

Note that:

\begin{align*} \langle Z_1 Z_2 \rangle = |a|^2 - |b|^2 - |c|^2 + |d|^2 \\ \langle Z_2 \rangle = |a|^2 - |b|^2 + |c|^2 - |d|^2 \\ \langle Z_1 \rangle = |a|^2 + |b|^2 - |c|^2 - |d|^2 \end{align*}

So, just by performing measurements in the $Z$ basis will give you all the expectation values for the given $H$, because by these measurements we will obtain all the probabilities ($|a|^2$, $|b|^2$, $|c|^2$ and $|d|^2$). More about these calculations can be found in this answer. If there are other terms like $X_1 Y_2$ one should measure also in different basis (for more info here is my Qiskit tutorial on VQE, where at the end a procedure for finding the expectation value of $X_1 Y_2$ Pauli term is described).

What I used above is that all three terms have a common orthonormal basis. Maybe this is the crucial criterion, which implies the commutativeness. Here is a theorem from the M. Nielsen and I. Chuang textbook (page 77) about the common orthonormal basis of two commuting Hermitian matrices.

Theorem 2.2: (Simultaneous diagonalization theorem) Suppose $A$ and $B$ are Hermitian operators. Then $[A, B] = 0$ if and only if there exists an orthonormal basis such that both $A$ and $B$ are diagonal with respect to that basis. We say that A and B are simultaneously diagonalizable in this case.

P.S. I haven't read the Cirq's implementation, so maybe there will be a better answer.


As Davit mentioned, any set of mutually commuting observables can be simultaneously measured. This means that if all of the terms of a Hamiltonian commute (in your case all $Z$s), you can simply diagonalize the circuit in their common basis and run just that circuit.

However, if you add a term that doesn't commute, like $X_1 Y_2$, then you will need another circuit run, this time diagonalizing the circuit in the basis of the new term. If you have a large observable with many terms, you might be able to significantly reduce the number of circuit runs by partitioning the terms into mutually-commuting subsets, performing one circuit run for each subset rather than for each term. For example, PennyLane lets you partition a Hamiltonian into mutually qubit-wise commuting subsets.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.