Skip to content
This repository has been archived by the owner on Dec 7, 2021. It is now read-only.

Qiskit Aqua 0.5.0

Compare
Choose a tag to compare
@manoelmarques manoelmarques released this 03 May 02:13
ca7c792

Changelog

Added

  • Implementation of the HHL algorithm supporting LinearSystemInput.
  • Pluggable component Eigenvalues with variant EigQPE.
  • Pluggable component Reciprocal with variants LookupRotation and LongDivision.
  • Multiple-Controlled U1 and U3 operations mcu1 and mcu3.
  • Pluggable component QFT derived from component IQFT.
  • Summarize the transpiled circuits at the DEBUG logging level.
  • QuantumInstance accepts basis_gates and coupling_map again.
  • Support to use cx gate for the entangement in RY and RYRZ variational form. (cz is the default choice.)
  • Support to use arbitrary mixer Hamiltonian in QAOA. This allows to use QAOA in constrained optimization problems [arXiv:1709.03489].
  • Added variational algorithm base class VQAlgorithm, implemented by VQE and VQC.
  • Added ising/docplex.py for automatically generating Ising Hamiltonian from optimization models of DOcplex.
  • Added 'basic-dirty-ancilla' mode for mct.
  • Added mcmt for Multi-Controlled, Multi-Target gate.
  • Exposed capabilities to generate circuits from logical AND, OR, DNF (disjunctive normal forms), and CNF (conjunctive normal forms) formulae.
  • Added the capability to generate circuits from ESOP (exclusive sum of products) formulae with optional optimization based on Quine-McCluskey and ExactCover.
  • Added LogicalExpressionOracle for generating oracle circuits from arbitrary boolean logic expressions (including DIMACS support) with optional optimization capability.
  • Added TruthTableOracle for generating oracle circuits from truth-tables with optional optimization capability.
  • Added CustomCircuitOracle for generating oracle from user specified circuits.
  • Added implementation of the Deutsch-Jozsa algorithm.
  • Added implementation of the Bernstein-Vazirani algorithm.
  • Added implementation of the Simon's algorithm.
  • Added implementation of the Shor's algorithm.
  • Added optional capability for Grover's algorithm to take a custom initial state (as opposed to the default uniform superposition)
  • Added capability to create a Custom initial state using existing circuit.
  • Added the ADAM (and AMSGRAD) optimization algorithm
  • Multivariate distributions added, so uncertainty models now have univariate and multivariate distribution components.
  • Added option to include or skip the swaps operations for qft and iqft circuit constructions.
  • Added classical linear system solver ExactLSsolver.
  • Added parameters auto_hermitian and auto_resize to HHL algorithm to support non-hermititan and non 2**n sized matrices by default.
  • Added another feature map, RawFeatureVector, that directly maps feature vectors to qubits' states for classification.
  • SVM_Classical can now load models trained by QSVM.
  • Added CompleteMeasFitter for mitigating measurement error when jobs are run on a real device or noise simulation.

Removed

  • QuantumInstance does not take memory anymore.
  • Moved Command line and GUI interfaces to separate repo (qiskit_aqua_uis).
  • Removed the SAT-specific oracle (now supported by LogicalExpressionOracle).

Changed

  • Changed the type of entanger_map used in FeatureMap and VariationalForm to list of list.
  • Fixed package setup to correctly identify namespace packages using setuptools.find_namespace_packages.
  • Changed advanced mode implementation of mct: using simple h gates instead of ch, and fixing the old recursion step in _multicx.
  • Components random_distributions renamed to uncertainty_models.
  • Reorganized the constructions of various common gates (ch, cry, mcry, mct, mcu1, mcu3, mcmt, logic_and, and logic_or) and circuits (PhaseEstimationCircuit, BooleanLogicCircuits, FourierTransformCircuits, and StateVectorCircuits) under the circuits directory.
  • Renamed the algorithm QSVMVariational to VQC, which stands for Variational Quantum Classifier.
  • Renamed the algorithm QSVMKernel to QSVM.
  • Renamed the class SVMInput to ClassificationInput.
  • Renamed problem type 'svm_classification' to 'classification'

Fixed

  • Fixed ising/docplex.py to correctly multiply constant values in constraints