This repository has been archived by the owner on Dec 7, 2021. It is now read-only.
Releases: qiskit-community/qiskit-aqua
Releases · qiskit-community/qiskit-aqua
Qiskit Aqua 0.6.1
Changelog
Changed
- Remove terra cap from stable branch.
Qiskit Aqua 0.6.0
Changelog
Added
- Relative-Phase Toffoli gates
rccx
(with 2 controls) andrcccx
(with 3 controls). - Variational form
RYCRX
- A new
'basic-no-ancilla'
mode tomct
. - Multi-controlled rotation gates
mcrx
,mcry
, andmcrz
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
andTPBGroupedPauliOperator
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 inputOperator
s. - The PyEDA dependency was removed;
corresponding oracles' underlying logic operations are now handled by SymPy. - Refactor the
Operator
class, each representation has its own classMatrixOperator
,
WeightedPauliOperator
andTPBGroupedPauliOperator
. (#593) - The
power
inevolution_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 single1
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
inQuantumInstance
via a list. (#630)
Removed
- General multi-controlled rotation gate
mcu3
is removed and replaced by
multi-controlled rotation gatesmcrx
,mcry
, andmcrz
Deprecated
- The
Operator
class is deprecated, in favor of usingMatrixOperator
,
WeightedPauliOperator
andTPBGroupedPauliOperator
. (#593)
Qiskit Aqua 0.5.5
Changelog
Fixed
- A bug with
docplex.get_qubitops
's incorrect translation
Qiskit Aqua 0.5.4
Changelog
Fixed
- Fix the bug about manipulating the right operand and rebuild diagonal matrix every time. (#622)
Qiskit Aqua 0.5.3
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
Changelog
Changed
- The pyeda requirement was made optional instead of an install requirement
Qiskit Aqua 0.5.1
Changelog
Changed
- Make torch optional install
Qiskit Aqua 0.5.0
Changelog
Added
- Implementation of the HHL algorithm supporting
LinearSystemInput
. - Pluggable component
Eigenvalues
with variantEigQPE
. - Pluggable component
Reciprocal
with variantsLookupRotation
andLongDivision
. - Multiple-Controlled U1 and U3 operations
mcu1
andmcu3
. - Pluggable component
QFT
derived from componentIQFT
. - Summarize the transpiled circuits at the DEBUG logging level.
QuantumInstance
acceptsbasis_gates
andcoupling_map
again.- Support to use
cx
gate for the entangement inRY
andRYRZ
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 byVQE
andVQC
. - Added
ising/docplex.py
for automatically generating Ising Hamiltonian from optimization models of DOcplex. - Added
'basic-dirty-ancilla'
mode formct
. - 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
andauto_resize
toHHL
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 byQSVM
.- Added CompleteMeasFitter for mitigating measurement error when jobs are run on a real device or noise simulation.
Removed
QuantumInstance
does not takememory
anymore.- Moved Command line and GUI interfaces to separate repo (qiskit_aqua_uis).
- Removed the
SAT
-specific oracle (now supported byLogicalExpressionOracle
).
Changed
- Changed the type of
entanger_map
used inFeatureMap
andVariationalForm
to list of list. - Fixed package setup to correctly identify namespace packages using
setuptools.find_namespace_packages
. - Changed
advanced
mode implementation ofmct
: using simpleh
gates instead ofch
, and fixing the old recursion step in_multicx
. - Components
random_distributions
renamed touncertainty_models
. - Reorganized the constructions of various common gates (
ch
,cry
,mcry
,mct
,mcu1
,mcu3
,mcmt
,logic_and
, andlogic_or
) and circuits (PhaseEstimationCircuit
,BooleanLogicCircuits
,FourierTransformCircuits
, andStateVectorCircuits
) under thecircuits
directory. - Renamed the algorithm
QSVMVariational
toVQC
, which stands for Variational Quantum Classifier. - Renamed the algorithm
QSVMKernel
toQSVM
. - Renamed the class
SVMInput
toClassificationInput
. - Renamed problem type
'svm_classification'
to'classification'
Fixed
- Fixed
ising/docplex.py
to correctly multiply constant values in constraints
Qiskit Aqua 0.4.1
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 theload_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
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
, andUnivariateDistribution
- 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
andPauliZExpansion
- Training model serialization/deserialization mechanism
- New feature maps extending the
- 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 ChemistryUCCSD
component of pluggable typeVariationalForm
moved to Qiskit Chemistry