You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Features
TrajectorySimulator, a Monte-Carlo trajectory simulator for programs with mid-circuit
measurements and resets. It samples pure-state trajectories under JAX, returning the
measurement outcomes alongside the final state; sample streams trajectories in batches,
data-parallel across the available devices, so the shot count is not bounded by device
memory. compute is jax.jit-traceable (though not differentiable).
(#1861)
A gate angle may be any Quil arithmetic expression over declared memory, so the parametric
programs quilc emits -- RX(theta[0]/2 + pi) 0 -- simulate without rewriting.
(#1869). Restored from #1860, where it was errantly dropped during a
rebase (prior to the 4.19.0 release).
The simulators accept an initial_state to evolve from, so a circuit can be split in two and
a prefix shared across many runs evolved once instead of once per run.
Fixed
Tolerant Circuit equality (and its unhashability, which follows), the split of Circuit.__post_init__ into named coercion and validation steps, and a mypy fix for JAX's
dynamically defined config flags. Restored from #1860, where it was errantly dropped during a
rebase (prior to the 4.19.0 release).
Circuit.to_kraus_maps no longer truncates the Kraus set.