- Fixed a bug where backend keyword arguments, such as
backend_options
andnoise_model
, were being passed to backends that did not support it. #51
This release contains contributions from (in alphabetical order):
Josh Izaac
This is a significant release, bringing the plugin up to date with the latest PennyLane and Qiskit features.
-
The plugin and the tests have been completely re-written from scratch, to ensure high quality and remove technical debt. #44 #43
-
Samples and variance support have been added to all devices. #46
-
Multi-qubit hermitian observables are now supported, due to support being added in Qiskit version 0.12.
-
Support has been added for IBM Q Experience 2.0. #44
-
Hardware and software devices are now treated identically, with expectations, variance, and samples computed via the probability, not the amplitudes. This has several consequences:
-
It makes the code cleaner and simpler, as there is now one defined way of computing statistics.
-
It is faster in most cases, as this does not require computing large matrix-vector products, or Kronecker products. Instead, eigenvalues of single- and multi-qubit observables are computed using dyanamic programming.
-
It reduces the number of tests required.
-
-
Test suite now includes tests against the IBM Q Experience, in addition to the local simulators.
- Due to the move to IBM Q 2.0 credentials, users remaining with IBM Q v1.0 now must pass an additional URL argument to the service. The plugin has been modified to allow the user to pass this argument if required. #44
This release contains contributions from:
Shahnawaz Ahmed, Josh Izaac
- Added noise model and backend options to the devices as well as new observables.
- Added support for all PennyLane observables for calculating expectation values.
- Added (copied & adjusted from pennylane-forest) test for the expectation values.
- Added the necessary DefaultQubit device for comparison.
- Added logging.
- Changed expval_queue to obs_queue and expectations to observables as per latest pennylane.
- Reversed qregs to match the default qubit device behavior.
- Renamed devices correctly.
- Made wires explicit. If num_wires of operation is 0 then use the whole system as wires!
- Renamed the IBMQ device from
qiskit.ibm
toqiskit.ibmq
.
- Fixed the Unitary gate.
- Fixed the token loading and the shots.
- Fixed and updated to qiskit v0.10.1
- Fixed the valid expectation values of all devices. Along with it tests where fixed.
- Removed the IBMQX_TOKEN import and replace with the correct args.
- Removed the unconditional make coverage.
- Removed default qubit device, this is not tested in this package!
- Removed the
LegacySimulatorsQiskitDevice
as this isn't supported inqiskit
anymore.
- updated to
qiskit
version0.10.*
.
- Added the noise model to
BasicAerQiskitDevice
andAerQiskitDevice
with unit tests (#13) - Added unit tests for the docs (#7/#20)
- Fixed the ''multiple''
backends
keyword bug (#13). - Fixed the
par_domain
of the operations (real valued parameters) inpos.py
(#21) - Fixed documentation problems
- Started to 'fix' ''low'' code quality due to type hints with codacy (#15)
- Small typos and code cleanups
AerQiskitDevice
andLegacySimulatorQiskitDevice
with tests
- Readme & documentation
setup.py
- Code style clean-ups & code cleaning.
- Build setup with travis CI
- Removed unsied
num_runs
kwargs - Fixed the overlapping kwargs with
- Better tests taken from the ProjectQ plugin
- remove the sleep after computation.
- The device
IbmQQiskitDevice
now can load theibmqx_token
from the environment variabeIBMQX_TOKEN
- Renamed
psops
toqisktops
- The setup/build requirements are now read from
requirements.txt
. The file is included now in the distribution file. - Due to changes in qiskit (0.7.0) the Device
AerDevice
must be correctly termed toBasicAerDevice
- Due to the removal of
qiskit.unroll.CircuitBackend
the complete plugin logic needed an overhaul. Now theQuantumCircuit
is used in conjunction with the new convertersdag_to_circuit
andcircuit_to_dag
as well as the usage of the base classInstruction
. We hope that this change will work for most cases.
- The Readme: links and the usage of device instead of provider, to stay in PennyLane-lingo
- Update to qiskit 0.7.0 made changes necessary: import location have changes