All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Types of changes:
- Added: for new features.
- Changed: for changes in existing functionality.
- Deprecated: for soon-to-be removed features.
- Removed: for now removed features.
- Fixed: for any bug fixes.
- Security: in case of vulnerabilities.
- 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 tranpiled 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.)
QuantumInstance
does not takememory
anymore.
- Change the type of
entanger_map
used inFeatureMap
andVariationalForm
to list of list.
0.4.1 - 2019-01-09
- Optimizers now have most relevant options on constructor for ease of programming. Options may still be set via set_options.
- Provider is now explicitly 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.
0.4.0 - 2018-12-19
- 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
, andEuropeanCallDelta
- 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)
- The pauli string in
Operator
class is aligned with Terra 0.7. Now the order of a n-qubit pauli string isq_{n-1}...q{0}
Thus, the (de)serialier (save_to_dict
andload_from_dict
) in theOperator
class are also changed to adopt the changes ofPauli
class.
HartreeFock
component of pluggable type ``InitialState` moved to Qiskit ChemistryUCCSD
component of pluggable typeVariationalForm
moved to Qiskit Chemistry
0.3.1 - 2018-11-29
- Different backends might have different signatures for describing the job completion.
0.3.0 - 2018-10-05
- Updated for 0.6 Terra
- Enhanced backend settings
- Pluggable multiclass classifier extensions
- AllPairs
- OneAgainstAll
- ErrorCorrectingCode
- Pluggable Feature Maps for QSVM algos
- Pluggable Variation Forms for QSVM.Variational
- SPSA calibration and control variables all configurable
- Step size configurable for optimizers with numerical approximation of the jacobian
- Z2 Symmetry tapering
- Operator
- HartreeFock InitialState
- UCCSD
- UCCSD performance improvements
- Remote device/simulator job auto-recovery
- Algorithm concatenation: VQE->(I)QPE
- Operator improvements
- Subtraction
- Negation
- Scaling
0.2.0 - 2018-07-27
- Ising model for TSP.
- add summarize circuits.
- Relax max circuits for simulation.
- Added qubit_tapering method.
- multiclass svm (one against all).
- Allow dynamic loading preferences package.module.
- Changed name from acqua to aqua.
- Move QAOA's variational form to under the algorithm implementation directory.
- Factor out the QAOA variational form.
- Operator will crash if the backend is None.
- Fix/max num circuits.
- fix grover for cases that don't need ancillary qubits.
- Fixed validation error for string of numbers.
- fix link to ai and opt notebooks.
0.1.2 - 2018-07-12
- UI Preferences Page including proxies urls, provider, verify.
- Add help menu with link to documentation.
- Add num_iterations param to grover.
- Graph partition ising model added.
- F2 finite field functions and find_Z2_symmetries function.
- Added packages preferences array for client custom pluggable packages.
- Clean up use_basis_gates options.
- Change Qiskit registering for Qiskit 0.5.5.
- GUI - Windows: new line appears when text view dismissed.
- Update test_grover to account for cases where the groundtruth info is missing.
- Qconfig discovery - Fix permission denied error on list folders.
- UI Fix Popup cut/copy/paste/select all behavior in mac/windows/linux.
- Fix typo grouped paulis.
- Fix numpy argmax usage on potentially complex state vector.
- Fix/use list for paulis and update helper function of ising model.
0.1.1 - 2018-06-13
- Changed short and long descriptions in setup.py.
- Changed package name to dashes in setup.py.
- Updated qiskit minimum version in setup.py.
- Fixed links in readme.me.