- Require iqm-client >= 17.1. #128
- Use GitHub Action as a Trusted Publisher to publish packages to PyPI. #127
- Remove multiversion documentation. #125
- Require iqm-client >= 16.0.
- Remove parameter
circuit_duration_check
fromIQMSampler
. - Add parameter
max_circuit_duration_over_t2
toIQMSampler
.
- Require iqm-client >= 15.2. Bump dependencies and dev tools. #121
- Use latest version of
sphinx-multiversion-contrib
to fix documentation version sorting. #120
- Move
cirq_iqm
package toiqm
namespace. #119
- Add table of backend options and an example of submitting a batch of circuits to the user guide. #117
- Return IQM Client metadata with results. #109
- Submitted job is aborted if the user interrupts the program while it is waiting for results. #114
- Make polling of circuit results configurable. #113
- Upgrade to IQMClient version 12.4 #111
- Add parameter
circuit_duration_check
toIQMSampler
allowing to control server-side maximum circuit duration check #111
- Generate license information for dependencies on every release #108
- Upgrade to IQMClient version 12.2 #107
- Upgrade to IQMClient version 12.0 #106
- "Pin down" supported Python versions to 3.9 and 3.10. #102
- Configure Tox to skip missing versions of Python interpreters when running tests. #102
- Move project metadata and configuration to
pyproject.toml
. #102
- Provide version information to IQMClient. #104
- Build and publish docs for older versions fixes. #103
- Build and publish docs for older versions. #101
- Use new opaque UUID for
calibration_set_id
. #98
- Add
.IQMSampler.run_iqm_batch
for running multiple circuits in a batch. #100
- Replace routing function from cirq.contrib with newly added routing functionality in cirq 1.1. #97
- User guide updated.
.IQMDevice.route_circuit
bugfix:initial_mapping
must be reversed to match thecirq.contrib.routing.greedy
convention.
- Upgrade to IQMClient version 10.0. #95
- Implement metadata for IQM devices. #92
- Bump
iqm-client
dependency. #91
- Enable mypy support. #88
- Upgrade to IQMClient version 8.0.
- Remove
settings
parameter fromIQMSampler
.
- Upgrade to IQMClient version 7.0.
cortex-cli
is now the preferred way of authentication.
- Use cirq 1.0. #82
- Update
IQMClient
instantiations with the changes in iqm-client 6.1. #80 IQMSampler
now accepts an optionalcalibration_set_id
. #80- Update documentation regarding the use of Cortex CLI. #80
- Support iqm-client 6.0. #79
- Update
IQMClient
instantiations with the changes in iqm-client 5.0 #75 IQMSampler
now acceptssettings
as dict instead of raw string file content #75
- Support iqm-client 4.3. #78
- Allow running sweeps in
IQMSampler.run_sweep
. #76
- Make
settings
an optional parameter forIQMSampler
. Optionalsettings
is now after non-optionaldevice
in arguments. #73 - Requires iqm-client 3.3
- Add support for 20-qubit Apollo architecture. #72
- Update optimizers, tests and relevant Jupyter examples to fix deprecation warnings in preparation for cirq 0.15 and cirq 1.0. #70
- Configure automatic tagging and releasing. #64
- Add HTTP Basic auth. #62
- Bump the
iqm-client
dependency to 1.4, remove the strict pinning. Bumpbuild
to 0.7.0. #58
- Add functionality for routing circuits with multi-qubit measurements. #56
- Update the cirq dependency to version 0.13
- Remove unused argument from Circuit
- Raise an error if MeasurementGate has an
invert_mask
. #53
circuit_from_qasm
imports OpenQASM 2.0 gatesU
andu3
of the formU(a, b, -b)
ascirq.PhasedXPowGate
. #46- Add an equals method to IQMDevice such that all instances of the same device architecture are considered equivalent. #50
- The codebase is reorganized. #46
- Redundant functionality for final decompositions is removed. #46
- Support for obsolete IQM OpenQASM extension is removed. #45
- Move IQM client to a separate library
- Adonis native gate set updated, Rz is not native. #41
- DropRZMeasurements sometimes did not remove z rotations it should have. #41
- The version of
requests
dependency is relaxed. - Minor aesthetic changes in the documentation.
IQMDevice
updated. #35IQMDevice.map_circuit
removed.IQMDevice.decompose_circuit
andIQMDevice.route_circuit
methods added.IQMDevice.simplify_circuit
now checks if it has hit a fixed point after each iteration.IQMSampler
checks that the circuit respects the device connectivity.
- Device qubit handling is simplified. #34
IQMSampler
can generate a trivial qubit mapping automatically.- The class
IQMQubit
was removed.
- Documentation updated. #36
- The documentation now contains a concise user guide.
- Documentation published online.
- All the demos work again. #35
DropRZBeforeMeasurement
had a bug where it sometimes incorrectly eliminated a z rotation followed by a multiqubit gate. #35
- Off-by-one error fixed in IQMDevice.map_circuit. #29
- Project setup updated. #22
pyproject.toml
added.PyScaffold
dependency removed.- Sphinx bumped to version 4.0.2.
- API docs generated using recursive
sphinx.ext.autosummary
. tox
scripts for building docs, dist packages.
- Gate decomposition and circuit optimization procedure simplified. #21
- Cirq dependency bumped to 0.11. #23
NOTE: Before installing this version, please manually uninstall Cirq 0.10. See Cirq 0.11 release notes for more details: https://github.com/quantumlib/Cirq/releases/tag/v0.11.0
- Convert data to IQM internal format when running requests. #20
- Settings file support. #17
- Adonis native gate set updated, CZ-targeting decompositions added. #15
- Circuits can be sent to be executed remotely on IQM hardware. #13
- Supports the Adonis and Valkmusa architectures.
- Extends the OpenQASM language with gates native to the IQM architectures.
- Loads quantum circuits from OpenQASM files.
- Decomposes gates into the native gate set of the chosen architecture.
- Optimizes the circuit by merging neighboring gates, and commuting z rotations towards the end of the circuit.
- Circuits can be simulated using both the standard Cirq simulators and the qsim simulators.