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

Releases: qiskit-community/qiskit-aqua

Qiskit Aqua 0.6.1

16 Oct 19:51
997a378
Compare
Choose a tag to compare

Changelog

Changed

  • Remove terra cap from stable branch.

Qiskit Aqua 0.6.0

22 Aug 17:16
f752859
Compare
Choose a tag to compare

Changelog

Added

  • Relative-Phase Toffoli gates rccx (with 2 controls) and rcccx
    (with 3 controls).
  • Variational form RYCRX
  • A new 'basic-no-ancilla' mode to mct.
  • Multi-controlled rotation gates mcrx, mcry, and mcrz as a general
    u3 gate is not supported by graycode implementation
  • Chemistry: ROHF open-shell support
    • Supported for all drivers: Gaussian16, PyQuante, PySCF and PSI4
    • HartreeFock initial state, UCCSD variational form and two qubit reduction for
      parity mapping now support different alpha and beta particle numbers for open
      shell support
  • Chemistry: UHF open-shell support
    • Supported for all drivers: Gaussian16, PyQuante, PySCF and PSI4
    • QMolecule extended to include integrals, coeffiecients etc for separate beta
  • Chemistry: QMolecule extended with integrals in atomic orbital basis to facilitate common access
    to these for experimentation
    • Supported for all drivers: Gaussian16, PyQuante, PySCF and PSI4
  • Chemistry: Additional PyQuante and PySCF driver configuration
    • Convergence tolerance and max convergence iteration controls.
    • For PySCF initial guess choice
  • Chemistry: Processing output added to debug log from PyQuante and PySCF computations (Gaussian16
    and PSI4 outputs were already added to debug log)
  • Chemistry: Merged qiskit-chemistry to this repo. The old chemistry changelog is at
    OLD_CHEMISTRY_CHANGELOG.md
  • Add MatrixOperator, WeightedPauliOperator and TPBGroupedPauliOperator class. (#593)
  • Add evolution_instruction function to get registerless instruction of time evolution. (#593)
  • Add op_converter module to unified the place in charge of converting different types of operators. (#593)
  • Add Z2Symmetries class to encapsulate the Z2 symmetries info and has helper methods for tapering an
    Operator. (#593).
  • Amplitude Estimation: added maximum likelihood postprocessing and confidence interval computation.
  • Maximum Likelihood Amplitude Estimation (MLAE): Implemented new algorithm for amplitude estimation based on
    maximum likelihood estimation, which reduces number of required qubits and circuit depth.
  • Added (piecewise) linearly and polynomially controlled Pauli-rotation circuits.
  • Add q_equation_of_motion to study excited state of a molecule, and add two algorithms to prepare the reference
    state. (#655)

Changed

  • Improve mct's 'basic' mode by using relative-phase Toffoli gates to build intermediate results.
  • Adapt to Qiskit Terra's newly introduced Qubit class.
  • Prevent QPE/IQPE from modifying input Operators.
  • The PyEDA dependency was removed;
    corresponding oracles' underlying logic operations are now handled by SymPy.
  • Refactor the Operator class, each representation has its own class MatrixOperator,
    WeightedPauliOperator and TPBGroupedPauliOperator. (#593)
  • The power in evolution_instruction was applied on the theta on the CRZ gate directly,
    the new version repeats the circuits to implement power. (#593)
  • CircuitCache is OFF by default, and it can be set via environment variable now
    QISKIT_AQUA_CIRCUIT_CACHE. (#630)

Fixed

  • A bug where TruthTableOracle would build incorrect circuits for truth tables with only a single 1 value.
  • A bug caused by PyEDA's indeterminism.
  • A bug with QPE/IQPE's translation and stretch computation.
  • Chemistry: Bravyi-Kitaev mapping fixed when num qubits was not a power of 2
  • Setup initial_layout in QuantumInstance via a list. (#630)

Removed

  • General multi-controlled rotation gate mcu3 is removed and replaced by
    multi-controlled rotation gates mcrx, mcry, and mcrz

Deprecated

  • The Operator class is deprecated, in favor of using MatrixOperator,
    WeightedPauliOperator and TPBGroupedPauliOperator. (#593)

Qiskit Aqua 0.5.5

26 Jul 19:53
d470fad
Compare
Choose a tag to compare

Changelog

Fixed

  • A bug with docplex.get_qubitops's incorrect translation

Qiskit Aqua 0.5.4

24 Jul 20:18
80fc6db
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix the bug about manipulating the right operand and rebuild diagonal matrix every time. (#622)

Qiskit Aqua 0.5.3

16 Jul 17:11
5f126cb
Compare
Choose a tag to compare

Changelog

Fixed

  • Since the syntax inverse() on a gate does not invert a gate now, the bug introduced wrong post rotation for Pauli Y.

Qiskit Aqua 0.5.2

27 Jun 15:31
be13759
Compare
Choose a tag to compare

Changelog

Changed

  • The pyeda requirement was made optional instead of an install requirement

Qiskit Aqua 0.5.1

24 May 17:58
be176fe
Compare
Choose a tag to compare

Changelog

Changed

  • Make torch optional install

Qiskit Aqua 0.5.0

03 May 02:13
ca7c792
Compare
Choose a tag to compare

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

Qiskit Aqua 0.4.1

09 Jan 17:08
7426e0c
Compare
Choose a tag to compare

Changelog

Added

  • Optimizers now have most relevant options on constructor for ease of programming. Options may still be set via set_options.
  • Provider is now explicilty named and the named backend is created from that named provider. Backend being selected from the first of the internally known set of providers is deprecated.
  • Improve operation with Aer provider/backends.
  • Registration to Aqua of externally provided pluggable algorithms and components altered to setuptools entry point support for plugins. The prior registration mechanism has been removed.
  • A flag before_04 in the load_from_dict(file) method is added to support to load operator in the old format. We encourage to save the operator in the new format from now on.

Qiskit Aqua 0.4.0

19 Dec 16:54
b407892
Compare
Choose a tag to compare

Changelog

Added

  • Compatibility with Terra 0.7
  • Compatibility with Aer 0.1
  • Programmatic APIs for algorithms and components -- each component can now be instantiated and initialized via a single (non-emptY) constructot call
  • QuantumInstance API for algorithm/backend decoupling -- QuantumInstance encapsulates a backend and its settings
  • Updated documentation and Jupyter Notebooks illustrating the new programmatic APIs
  • Transparent parallelization for gradient-based optimizers
  • Multiple-Controlled-NOT (cnx) operation
  • Pluggable algorithmic component RandomDistribution
  • Concrete implementations of RandomDistribution: BernoulliDistribution, LogNormalDistribution,
    MultivariateDistribution, MultivariateNormalDistribution, MultivariateUniformDistribution, NormalDistribution,
    UniformDistribution, and UnivariateDistribution
  • Pluggable algorithmic component:
  • Concrete implementations of UncertaintyProblem: FixedIncomeExpectedValue, EuropeanCallExpectedValue, and
    EuropeanCallDelta
  • Amplitude Estimation algorithm
  • Qiskit Optimization: New Ising models for optimization problems exact cover, set packing, vertex cover, clique, and graph partition
  • Qiskit AI:
    • New feature maps extending the FeatureMap pluggable interface: PauliExpansion and PauliZExpansion
    • Training model serialization/deserialization mechanism
  • Qiskit Finance:
    • Amplitude estimation for Bernoulli random variable: illustration of amplitude estimation on a single qubit problem
    • Loading of multiple univariate and multivariate random distributions
    • European call option: expected value and delta (using univariate distributions)
    • Fixed income asset pricing: expected value (using multivariate distributions)

Removed

  • HartreeFock component of pluggable type ``InitialState` moved to Qiskit Chemistry
  • UCCSD component of pluggable type VariationalForm moved to Qiskit Chemistry