QSimSimulator.simulate_expectation_values returns wrong results for identity operators in observables.
As the following example shows, identity operators in observables seem to be regarded as zero matrices.
This is a straightforward example.
import cirq
import qsimcirq
circuit = cirq.Circuit()
q = cirq.LineQubit.range(1)
ps = cirq.PauliString(cirq.I(q[0]))
sim = qsimcirq.QSimSimulator()
evs = sim.simulate_expectation_values(
circuit, ps)
print("qsim", evs)
cirq_sim = cirq.Simulator()
evs = cirq_sim.simulate_expectation_values(
circuit, ps)
print("cirq", evs)
And the result is here.