Changelog
- Job handling improvements.
- Allow asynchronous job submission.
- New JobProcessor class: utilizes concurrent.futures.
- New QuantumJob class: job description.
- Modularize circuit "compilation".
Takes quantum circuit and information about backend to transform
circuit into one which can run on the backend. - Standardize job description.
All backends take QuantumJob objects which wrapsqobjprogram description. - Simplify addition of backends, where circuits are run/simulated.
qiskit.backendspackage added.- Real devices and simulators are considered "backends" which inherent from
BaseBackend.
- Reorganize and improve Sphinx documentation.
- Improve unittest framework.
- Add tools for generating random circuits.
- New utilities for fermionic Hamiltonians (
qiskit/tools/apps/fermion). - New utilities for classical optimization and chemistry (
qiskit/tools/apps/optimization). - Randomized benchmarking data handling.
- Quantum tomography (
qiskit/tools/qcvv).
Added functions for generating, running and fitting process tomography experiments. - Quantum information functions (
qiskit/tools/qi).- Partial trace over subsystems of multi-partite vector.
- Partial trace over subsystems of multi-partite matrix.
- Flatten an operator to a vector in a specified basis.
- Generate random unitary matrix.
- Generate random density matrix.
- Generate normally distributed complex matrix.
- Generate random density matrix from Hilbert-Schmidt metric.
- Generate random density matrix from the Bures metric.
- Compute Shannon entropy of probability vector.
- Compute von Neumann entropy of quantum state.
- Compute mutual information of a bipartite state.
- Compute the entanglement of formation of quantum state.
- Visualization improvements (
qiskit/tools).- Wigner function representation.
- Latex figure of circuit.
- Use python logging facility for info, warnings, etc.
- Auto-deployment of sphinx docs to github pages.
- Check IBMQuantumExperience version at runtime.
- Add QuantumProgram method to reconfigure already generated qobj.
- Add Japanese introductory documentation (
doc/ja). - Add Korean translation of readme (
doc/ko). - Add appveyor for continuous integration on Windows.
- Enable new IBM Q parameters for hub/group/project.
- Add QuantumProgram methods for destroying registers and circuits.
- Use Sympy for evaluating expressions.
- Add support for ibmqx_hpc_qasm_simulator backend.
- Add backend interface to Project Q C++ simulator.
Requires installation of Project Q. - Introduce
InitializeGateclass.
Generates circuit which initializes qubits in arbitrary state. - Introduce
local_qiskit_simulatora C++ simulator with realistic noise.
Requires C++ build environment formake-based build.
Supported platforms: Linux and Mac. - Introduce
local_clifford_simulatora C++ Clifford simulator.
Requires C++ build environment formake-based build.
Supported platforms: Linux and Mac.
Bug Fixes
- Fix basis gates (#76).
- Enable QASM parser to work in multiuser environments.
- Correct operator precedence when parsing expressions (#190).
- Fix "math domain error" in mapping (#111, #151).
Backward-incompatible changes
- The standard extension for creating U base gates has been modified to be
consistent with the rest of the gate APIs (see #203). - The
silentparameter has been removed from a number ofQuantumProgram
methods. The same behaviour can be achieved now by using the
enable_logs()anddisable_logs()methods, which use the standard
Python logging.