v2.16.0
Announcements
- The
TomographyExperiment
class has been renamed toExperiment
. In addition, there is a newQuantumComputer.calibration
method for performing readout calibration on a providedExperiment
, and utilities for applying the results of the calibration to correct for symmetrized readout error.ExperimentSetting
objects now also have anadditional_expectations
attribute for extracting simultaneously measurable expectation values from a single setting when usingQuantumComputer.experiment
(@karalekas, gh-1152, gh-1158).
Improvements and Changes
- Type hints have been added to the
quil.py
file (@rht, gh-1115, gh-1134). - Use Black for code style and enforce it (along with a line length of 100) via the
style
(flake8
) andformatcheck
(black --check
) CI jobs (@karalekas, gh-1132). - Ignore fewer
flake8
style rules, add theflake8-bugbear
plugin, and rename the style-relatedMakefile
targets and CI jobs so that they have a uniform naming convention:check-all
,check-format
,check-style
, andcheck-types
(@karalekas, gh-1133). - Added type hints to
noise.py
, began verifying in the CI (@rht, gh-1136). - Improved reStructuredText markup in docstrings (@peterjc, gh-1141).
- Add helper to separate
ExperimentResults
by groups of qubits on which their operator acts (@kylegulshen, gh-1078). - Added typing to the
pyquil/latex
module and added the module to thecheck-types
CI job (@karalekas, gh-1142). - Add helper to merge
TomographyExperiment
s in theexperiment
module's_group.py
file. Movegroup_experiments
fromoperator_estimation.py
to_group.py
and rename togroup_settings
but maintain backwards compatibility (@kylegulshen, gh-1077). - The code in
gate_matrices.py
,numpy_simulator.py
,reference_simulator.py
, andunitary_tools.py
has been typed and reorganized into a newsimulation
subdirectory, maintaining backwards compatibility (@karalekas, gh-1143). - Added a
.travis.yml
file to enable Travis CI for external-contributor builds, and upgraded GitLab CI style checks to py37 (@karalekas, gh-1145). - Delete
api/_job.py
,JobConnection
, andSyncConnection
, which have been deprecated for over a year and a half (@karalekas, gh-1144). - Added typing to the
pyquil/experiment
module and added the module to thecheck-types
CI job (@karalekas, gh-1146). - Use
dataclasses
instead ofnamedtuples
in thepyquil/device
module, and add type annotations to the entire module (@karalekas, gh-1149). - Reduced the number of
mypy
errors inpaulis.py
(@rht, gh-1147). - Compile to XY gates as well as CZ gates on dummy QVMs (@ecpeterson, gh-1151).
QAM.write_memory
now accepts either aSequence
of values or a single value (@tommy-moffat, gh-1114).- Added type hints for all remaining top-level files (@karalekas, gh-1150).
- Added type annotations to the whole
pyquil.api
module (@karalekas, gh-1157).
Bugfixes
- Don't attach pipes to stdout/stderr when starting quilc and qvm processes in
local_forest_runtime
. This prevents the pipe buffers from getting full and causing hung quilc/qvm for long running processes (@appleby, gh-1122). - Pass a sequence to
np.vstack
to avoid aFutureWarning
, and add a protoquil keyword argument toMyLazyCompiler.quil_to_native_quil
to avoid aTypeError
in themigration2-qc.ipynb
notebook (@appleby, gh-1138). - Removed unused method
Program._out()
inquil.py
(@rht, gh-1137). - Fixed string concatenation style, caused by
black
(@peterjc, gh-1139).
Special thanks this release to @rht and @peterjc for their contributions to type annotations and RST docstrings, respectively.