Hi,

I was wondering if there was a way to obtain the expectation value of a single term in a summation of a hamiltonian.

For instance, for the observable 0.5X_1 + 0.5Z_1, i want to get the observable 0.5X_1 and 0.5Z_1 individually.

Hi,

I was wondering if there was a way to obtain the expectation value of a single term in a summation of a hamiltonian.

For instance, for the observable 0.5X_1 + 0.5Z_1, i want to get the observable 0.5X_1 and 0.5Z_1 individually.

Hey @trifire! You can totally do this. Here is an example:

```
import pennylane as qml
# H = 0.5X_1 + 0.5Z_1
H = 0.5 * qml.PauliX(0) + 0.5 * qml.PauliZ(0)
print(H.ops)
# Out: [PauliX(wires=[0]), PauliZ(wires=[0])]
dev = qml.device("default.qubit", wires=1)
@qml.qnode(dev)
def circuit(H):
return [qml.expval(op) for op in H.ops]
print(circuit(H))
# Out: tensor([0., 1.], requires_grad=True)
```

Is there a way to do this while preserving the qubit wise commuting measurement groups?

This is actually already done under the hood as of v0.24 ! You can find the entry in the v0.24 changelog by searching for `qml.split_non_commuting`

, or check out the documentation.