This release contains contributions from (in alphabetical order):
-
Remove deprecated
qml.operation.Tensor
from codebase in favour ofqml.prod
. (#197)
-
Removed support for Python 3.9 (#200)
-
Upgrade minimum supported version of PennyLane to 0.38.0. (#201)
This release contains contributions from (in alphabetical order):
Astral Cai, Mudit Pandey, Alex Preciado
- Added support for
expval
ofProd
observables. (#183)
- Fixes a bug where an error is raised from applying
qml.Identity
on multiple wires. (#186)
This release contains contributions from (in alphabetical order):
Astral Cai
- The sampling tests no longer set the
_obs_queue
proprerty, as setting it has no effect on the behaviour of the plugin. (#159)
This release contains contributions from (in alphabetical order):
Christina Lee
- Fixes the pasqal device when more than one circuit is executed and adds support
for specifying
wires
an iterable of wire labels. (#151)
This release contains contributions from (in alphabetical order):
Christina Lee
- Python 3.8 support is dropped and Python 3.11 support is added. (#146)
- The plugin is updated to take
qml.StatePrep
operators, the new name forqml.QubitStateVector
. (#146)
This release contains contributions from (in alphabetical order):
Christina Lee
- Failing tests corrected to reflect the new shots validation in PennyLane (#138)
This release contains contributions from (in alphabetical order):
Matthew Silverman
- Support for adjoint operators has been added. (#130)
-
Support for inverse operators has been removed. Note that the
inv()
method andinverse
property are removed from PennyLane operators as of PennyLane 0.29. (#130) -
Bumps the required PennyLane version to v0.29.0. (#137)
This release contains contributions from (in alphabetical order):
Christina Lee, Matthew Silverman
- Adds support for Python 3.10. (#123)
- Removes support for Python 3.7. (#123)
This release contains contributions from (in alphabetical order):
Christina Lee
-
Support
ISWAP
,SISWAP
, and their adjoints. (#114) -
Support a variety of operations raised to a power. (#115)
- Removed the unnecessary
CPhase
andISWAP
operations from the plugin's custom support because PennyLane supports them. (#115)
- Pass all the qubits as
qubit_order
parameter to force the simulator not to ignore idle qubits. (#111)
This release contains contributions from (in alphabetical order):
Oumarou Oumarou, Matthew Silverman
- Defines the missing
returns_state
entry of thecapabilities
dictionary for devices. (#107)
This release contains contributions from (in alphabetical order):
Antal Száva
-
Changed to using
cirq_pasqal
instead ofcirq.pasqal
as per a deprecation cycle in Cirq. (#90) -
Changed the requirements of PennyLane-Cirq to only contain
cirq-core
andcirq-pasqal
. (#94)
This release contains contributions from (in alphabetical order):
Jay Soni, Antal Száva
- Expectation values are now computed using the
simulate_expectation_values
function from Cirq forcirq.simulator
andcirq.mixedsimulator
. (#81)
This release contains contributions from (in alphabetical order):
Romain Moyard
We support Cirq
version 0.12.0
.
(#77)
This release contains contributions from (in alphabetical order):
Romain Moyard
We do not support the new Cirq
version 0.12.0
because of
compatibility problems with qsim
.
(#73)
This release contains contributions from (in alphabetical order):
Romain Moyard
- Added support for the new
qml.Projector
observable in PennyLane v0.16 to the Cirq devices. (#62)
- Deprecated Python 3.6. (#65)
-
Fix data type bug for mixed simulator when using
QubitStateVector
. (#63) -
Fixed issue when using a subset of wires with
BasisState
. (#61)
This release contains contributions from (in alphabetical order):
Theodor Isacsson, Romain Moyard, Vincent Wong
- For compatibility with PennyLane v0.15, the
analytic
keyword argument has been removed from all devices. Statistics can still be computed analytically by settingshots=None
. (#57) (#58)
This release contains contributions from (in alphabetical order):
Josh Izaac, Chase Roberts
- Added support for custom simulator objects for use with the Floq service. (#51)
This release contains contributions from (in alphabetical order):
Chase Roberts
- Added support for iSWAP and CPhase gate operations. (#45)
- Removed import of
qsimcirq
from__init__.py
, allowing other devices in this plugin to work withoutqsimcirq
being installed. (#46)
This release contains contributions from (in alphabetical order):
Theodor Isacsson
-
PennyLane integration with the qsim circuit simulator package is now available. (#36).
The new devices include:
-
cirq.qsim
, a Schrödinger full state-vector simulator -
cirq.qsimh
, a hybrid Schrödinger-Feynman simulator. This simulator cuts the qubit lattice into two parts; each part is individually simulated using qsim, with Feynman-style path summation used to return the final result. Compared to full state-vector simulation, qsimh reduces memory requirements, at the expense of an increased runtime.
After installing the
qsimcirq
package, the qsim and qsimh devices can be invoked via the names"cirq.qsim"
and"cirq.qsimh"
respectively, e.g.,dev = qml.device("cirq.qsimh", qsimh_options=qsimh_options, wires=3)
These devices can then be used for the evaluation of QNodes within PennyLane. For more details, see the PennyLane qsim documentation
-
This release contains contributions from (in alphabetical order):
Theodor Isacsson, Nathan Killoran, Josh Izaac
-
Devices from Cirq's Pasqal submodule are now available for use. (#40).
A simulator device compatible with Pasqal's neutral-atom model can be invoked via the name
"cirq.pasqal"
, e.g.,dev = qml.device("cirq.pasqal", control_radius=1.0, wires=3)
This release contains contributions from (in alphabetical order):
Nathan Killoran, Josh Izaac
-
Made plugin device compatible with new PennyLane wire management. (#37) (#42)
One can now specify any string or number as a custom wire label, and use these labels to address subsystems on the device:
dev = qml.device('cirq.simulator', wires=['q1', 'ancilla', 0, 1]) def circuit(): qml.Hadamard(wires='q1') qml.CNOT(wires=[1, 'ancilla']) ...
This release contains contributions from (in alphabetical order):
Josh Izaac, Nathan Killoran, Maria Schuld
This release contains contributions from (in alphabetical order):
- Added a new mixedsimulator class to Cirq, which uses Cirq's DensityMatrixSimulator as a backend. #27
- Redesigned the documentation to be consistent with other plugins. #25
- Renamed probability to
analytic_probability
to support new changes in PennyLane. #24
This release contains contributions from (in alphabetical order):
Theodor Isacsson, Nathan Killoran, Maria Schuld, Antal Száva
-
Ported the
CirqDevice
class to use the newQubitDevice
base class, enabling the use of tensor observables. #19 -
Added support for inverse operations by defining the
.inv()
method of theCirqOperation
class which uses thecirq.inverse
function. #15
-
Replaced depreceated Cirq commands. #19
-
Fix a minor bug introduced into the test suite by the release of Cirq 0.7.0. #18
-
Fix bugs introduced into the test suite by the release of Cirq 0.6.0. #13
This release contains contributions from (in alphabetical order):
Johannes Jakob Meyer, Antal Száva
Initial public release.
This release contains contributions from:
Johannes Jakob Meyer