Skip to content

Releases: PennyLaneAI/pennylane-cirq

Release 0.12.1

20 Oct 12:35
5b05e91
Compare
Choose a tag to compare

New features since last release

  • 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.

Contributors

This release contains contributions from (in alphabetical order):

Theodor Isacsson, Josh Izaac, Nathan Killoran.

Release 0.12.0

13 Oct 16:25
b28f231
Compare
Choose a tag to compare

New features since last release

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)

Contributors

This release contains contributions from (in alphabetical order):

Nathan Killoran, Josh Izaac

Release 0.11.0

19 Aug 00:52
Compare
Choose a tag to compare

New features

  • One can now specify any string or number as a custom wire label, and use these labels to address subsystems on the device: (#37) (#42)

    dev = qml.device('cirq.simulator', wires=['q1', 'ancilla', 0, 1])
    
    @qml.qnode(dev)
    def circuit():
        qml.Hadamard(wires='q1')
        qml.CNOT(wires=[1, 'ancilla'])
        return qml.expval(qml.PauliZ('q1'))

Contributors

This release contains contributions from (in alphabetical order):

Josh Izaac, Nathan Killoran, Maria Schuld

Release 0.9.0

15 May 19:21
833756c
Compare
Choose a tag to compare

Release 0.9.0

New features since last release

  • Added a new mixedsimulator class to Cirq, which uses Cirq's
    DensityMatrixSimulator as a backend.
    #27

Documentation

  • Redesigned the documentation to be consistent with other plugins.
    #25

Bug fixes

  • Renamed probability to analytic_probability to support new
    changes in PennyLane.
    #24

Contributors

This release contains contributions from (in alphabetical order):

Theodor Isacsson, Nathan Killoran, Maria Shuld, Antal Száva

Release 0.8

04 Feb 20:33
5e6701b
Compare
Choose a tag to compare

Improvements

  • Ported the CirqDevice class to use the new QubitDevice base class,
    enabling the use of tensor observables.
    #19

  • Added support for inverse operations by defining the .inv() method
    of the CirqOperation class which uses the cirq.inverse function.
    #15

Bug fixes

  • 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

Contributors

This release contains contributions from (in alphabetical order):

Johannes Jakob Meyer, Antal Száva

Release 0.1.0

28 Oct 16:02
Compare
Choose a tag to compare

This is the first release of PennyLane-Cirq.

This release enables the use of most of PennyLane's core functionality in conjunction with the simulator backend of Cirq.