Announcements
- The Quil Compiler ([quilc](https://github.com/rigetti/quilc)) and
the Quantum Virtual Machine
([QVM](https://github.com/rigetti/quilc)), which are part of the
Forest SDK, have been open sourced! In addition to downloading the
binaries, you can now build these applications locally from source,
or run them via the Docker images
[rigetti/quilc](https://hub.docker.com/r/rigetti/quilc) and
[rigetti/qvm](https://hub.docker.com/r/rigetti/qvm). These Docker
images are now used as the `services` in the GitLab CI build plan
YAML (gh-792, gh-794, gh-795).
Improvements and Changes
- The `WavefunctionSimulator` now supports the use of parametric Quil
programs, via the `memory_map` parameter for its various methods
(gh-787).
- Operator estimation data structures introduced in **v2.2** have
changed. Previously, `ExperimentSettings` had two members:
`in_operator` and `out_operator`. The `out_operator` is unchanged,
but `in_operator` has been renamed to `in_state` and its data type
is now `TensorProductState` instead of `PauliTerm`. It was always an
abuse of notation to interpret pauli operators as defining initial
states. Analogous to the Pauli helper functions sI, sX, sY, and sZ,
`TensorProductState` objects are constructed by multiplying together
terms generated by the helper functions plusX, minusX, plusY,
minusY, plusZ, and minusZ. This functionality enables process
tomography and process DFE (gh-770).
- Operator estimation now offers a \"greedy\" method for grouping
tomography-like experiments that share a natural tensor product
basis (ntpb), as an alternative to the clique cover version
(gh-754).
- The `quilc` endpoint for rewriting Quil parameter arithmetic has
been changed from `resolve_gate_parameter_arithmetic` to
`rewrite_arithmetic` (gh-802).
- The difference between ProtoQuil and QPU-supported Quil is now
better defined (gh-798).
Bugfixes
- Resolved an issue with post-gate noise in the pyQVM (gh-801).
- A `TypeError` with a useful error message is now raised when a
`Program` object is run on a QPU-backed `QuantumComputer`, rather
than a confusing `AttributeError` (gh-799).