PennyLaneAI / catalyst

A JIT compiler for hybrid quantum programs in PennyLane
https://docs.pennylane.ai/projects/catalyst
Apache License 2.0
101 stars 26 forks source link

[Bug] The dynamic one-shot transform does not preserve pytree output of QNodes #879

Open josh146 opened 1 week ago

josh146 commented 1 week ago
dev = qml.device("lightning.qubit", wires=1, shots=20)

@qml.qjit
@qml.qnode(dev, mcm_method="one-shot")
def func(x):
    qml.RX(x, wires=0)
    m_0 = catalyst.measure(0, postselect=1)
    return {"hi": qml.expval(qml.Z(0))}
>>> func(0.9)
array(1.)