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

Commit b407892

Browse files
Merge pull request #263 from manoelmarques/stable-0.4.0
New Release 0.4.0
2 parents 7b101fe + e99a5fb commit b407892

File tree

265 files changed

+12182
-5753
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

265 files changed

+12182
-5753
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ docs/*.rst
115115
!docs/aqua_tutorials.rst
116116
!docs/aqua_finance.rst
117117
!docs/qiskit_aqua_chemistry.rst
118+
!docs/random_distributions.rst
119+
!docs/uncertainty_problems.rst
120+
!docs/multiclass_extensions.rst
121+
!docs/release_history.rst
118122

119123
# PyBuilder
120124
target/

.travis.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Copyright 2018, IBM.
2+
#
3+
# This source code is licensed under the Apache License, Version 2.0 found in
4+
# the LICENSE.txt file in the root directory of this source tree.
5+
6+
notifications:
7+
on_success: change
8+
on_failure: always
9+
10+
cache: pip
11+
os: linux
12+
dist: trusty
13+
14+
language: python
15+
python:
16+
- "3.6"
17+
18+
stage_dependencies: &stage_dependencies
19+
# Install Dependencies
20+
# The env. variable MASTER_BRANCH_DEPENDENCIES forces dependencies used from master
21+
env:
22+
- >
23+
MASTER_BRANCH_DEPENDENCIES=true
24+
CMAKE_FLAGS="-D CMAKE_CXX_COMPILER=g++-5 -D ENABLE_TARGETS_QA=False -D WHEEL_TAG=-pmanylinux1_x86_64 -D STATIC_LINKING=True"
25+
addons:
26+
apt:
27+
sources:
28+
- ubuntu-toolchain-r-test
29+
packages:
30+
- liblapack-dev
31+
- libblas-dev
32+
- g++-5
33+
before_install:
34+
# download Qiskit Terra master and unzip it only if forced from master or not stable branch, otherwise use the pypi version
35+
- |
36+
if [ ${MASTER_BRANCH_DEPENDENCIES} = "true" ] || [ ${TRAVIS_BRANCH} != "stable" ]; then
37+
wget https://codeload.github.com/Qiskit/qiskit-terra/zip/master -O /tmp/qiskit-terra.zip
38+
unzip /tmp/qiskit-terra.zip -d /tmp/
39+
# Install Qiskit Terra requirements.
40+
pip install -U -r /tmp/qiskit-terra-master/requirements.txt
41+
pip install -U -r /tmp/qiskit-terra-master/requirements-dev.txt
42+
# Create the basic cmake structure, setting out/ as the default dir.
43+
cd /tmp/qiskit-terra-master
44+
mkdir out && cd out && cmake $CMAKE_FLAGS ..
45+
# Compile the executables
46+
make
47+
# Install local Qiskit Terra
48+
pip install -e /tmp/qiskit-terra-master
49+
# back to current repo directory
50+
cd $TRAVIS_BUILD_DIR
51+
fi
52+
install:
53+
# install Aqua and dev requirements
54+
- pip install -e $TRAVIS_BUILD_DIR
55+
- pip install -U -r requirements-dev.txt
56+
57+
# Define the order of the stages.
58+
stages:
59+
- test first half
60+
- test second half
61+
62+
jobs:
63+
include:
64+
- stage: test first half
65+
<<: *stage_dependencies
66+
script:
67+
- python test/customtests.py 0 -end 21
68+
69+
- stage: test second half
70+
<<: *stage_dependencies
71+
script:
72+
- python test/customtests.py 21

CHANGELOG.rst

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,43 @@ The format is based on `Keep a Changelog`_.
1818
`UNRELEASED`_
1919
=============
2020

21+
`0.4.0`_ - 2018-12-19
22+
=====================
23+
24+
Added
25+
-----
26+
27+
- Compatibility with Terra 0.7
28+
- Compatibility with Aer 0.1
29+
- Programmatic APIs for algorithms and components -- each component can now be instantiated and initialized via a single (non-emptY) constructot call
30+
- ``QuantumInstance`` API for algorithm/backend decoupling -- ``QuantumInstance`` encapsulates a backend and its settings
31+
- Updated documentation and Jupyter Notebooks illustrating the new programmatic APIs
32+
- Transparent parallelization for gradient-based optimizers
33+
- Multiple-Controlled-NOT (cnx) operation
34+
- Pluggable algorithmic component ``RandomDistribution``
35+
- Concrete implementations of ``RandomDistribution``: ``BernoulliDistribution``, ``LogNormalDistribution``,
36+
``MultivariateDistribution``, ``MultivariateNormalDistribution``, ``MultivariateUniformDistribution``, ``NormalDistribution``,
37+
``UniformDistribution``, and ``UnivariateDistribution``
38+
- Pluggable algorithmic component:
39+
- Concrete implementations of ``UncertaintyProblem``: ``FixedIncomeExpectedValue``, ``EuropeanCallExpectedValue``, and
40+
``EuropeanCallDelta``
41+
- Amplitude Estimation algorithm
42+
- Qiskit Optimization: New Ising models for optimization problems exact cover, set packing, vertex cover, clique, and graph partition
43+
- Qiskit AI:
44+
- New feature maps extending the ``FeatureMap`` pluggable interface: ``PauliExpansion`` and ``PauliZExpansion``
45+
- Training model serialization/deserialization mechanism
46+
- Qiskit Finance:
47+
- Amplitude estimation for Bernoulli random variable: illustration of amplitude estimation on a single qubit problem
48+
- Loading of multiple univariate and multivariate random distributions
49+
- European call option: expected value and delta (using univariate distributions)
50+
- Fixed income asset pricing: expected value (using multivariate distributions)
51+
52+
Removed
53+
-------
54+
55+
- ``HartreeFock`` component of pluggable type ``InitialState` moved to Qiskit Chemistry
56+
- ``UCCSD`` component of pluggable type ``VariationalForm`` moved to Qiskit Chemistry
57+
2158
`0.3.1`_ - 2018-11-29
2259
=====================
2360

@@ -41,7 +78,7 @@ Added
4178
- Pluggable Feature Maps for QSVM algos
4279
- Pluggable Variation Forms for QSVM.Variational
4380
- SPSA calibration and control variables all configurable
44-
- Step size configurable for optimizers with numerical approximation of the jacobian
81+
- Step size configurable for optimizers with numerical approximation of the jacobian
4582
- Z2 Symmetry tapering
4683
- Operator
4784
- HartreeFock InitialState
@@ -133,11 +170,12 @@ Changed
133170
- Updated qiskit minimum version in setup.py.
134171
- Fixed links in readme.me.
135172

136-
.. _UNRELEASED: https://github.com/Qiskit/aqua/compare/0.3.1...HEAD
137-
.. _0.3.1: https://github.com/Qiskit/aqua/compare/0.3.0...0.3.1
138-
.. _0.3.0: https://github.com/Qiskit/aqua/compare/0.2.0...0.3.0
139-
.. _0.2.0: https://github.com/Qiskit/aqua/compare/0.1.2...0.2.0
140-
.. _0.1.2: https://github.com/Qiskit/aqua/compare/0.1.1...0.1.2
141-
.. _0.1.1: https://github.com/Qiskit/aqua/compare/0.1.0...0.1.1
173+
.. _UNRELEASED: https://github.com/Qiskit/qiskit-aqua/compare/0.4.0...HEAD
174+
.. _0.4.0: https://github.com/Qiskit/qiskit-aqua/compare/0.3.1...0.4.0
175+
.. _0.3.1: https://github.com/Qiskit/qiskit-aqua/compare/0.3.0...0.3.1
176+
.. _0.3.0: https://github.com/Qiskit/qiskit-aqua/compare/0.2.0...0.3.0
177+
.. _0.2.0: https://github.com/Qiskit/qiskit-aqua/compare/0.1.2...0.2.0
178+
.. _0.1.2: https://github.com/Qiskit/qiskit-aqua/compare/0.1.1...0.1.2
179+
.. _0.1.1: https://github.com/Qiskit/qiskit-aqua/compare/0.1.0...0.1.1
142180

143181
.. _Keep a Changelog: http://keepachangelog.com/en/1.0.0/

CONTRIBUTORS.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ Aqua continues now to grow with the help and work of many
88
people, listed here in alphabetical order, who contribute to the project at different
99
levels:
1010

11-
- Panagiotis Barkoutsos
11+
- `Panagiotis Barkoutsos <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-BPA>`__
1212
- Sergey Bravyi
1313
- Chun-Fu (Richard) Chen
1414
- `Antonio Córcoles-Gonzalez <https://researcher.watson.ibm.com/researcher/view.php?person=us-adcorcol>`__
15+
- Albert Frisch
1516
- `Jay Gambetta <https://researcher.watson.ibm.com/researcher/view.php?person=us-jay.gambetta>`__
1617
- Jennifer Glick
1718
- `Donny Greenberg <https://researcher.watson.ibm.com/researcher/view.php?person=ibm-donny>`__
@@ -25,10 +26,11 @@ levels:
2526
- `Nikolaj Moll <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-NIM>`__
2627
- `Giacomo Nannicini <https://researcher.watson.ibm.com/researcher/view.php?person=us-nannicini>`__
2728
- Pauline Ollitrault
29+
- `Anna Phan <https://researcher.watson.ibm.com/researcher/view.php?person=au1-anna.phan>`__
2830
- `Marco Pistoia <https://researcher.watson.ibm.com/researcher/view.php?person=us-pistoia>`__
2931
- `Julia Rice <https://researcher.watson.ibm.com/researcher/view.php?person=us-jrice>`__
3032
- `Raymond Harry Putra Rudy <https://researcher.watson.ibm.com/researcher/view.php?person=jp-RUDYHAR>`__
3133
- `Kanav Setia <https://physics.dartmouth.edu/people/kanav-setia>`__
3234
- `Ivano Tavernelli <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-ITA>`__
3335
- `Stephen Wood <https://researcher.watson.ibm.com/researcher/view.php?person=us-woodsp>`__
34-
- `Stefan Wörner <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-wor>`__
36+
- `Stefan Woerner <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-wor>`__

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
recursive-include qiskit_aqua *.json
2-
include qiskit_aqua/Qconfig_template.txt
2+
recursive-include qiskit_aqua_ui *.json

Makefile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright 2018, IBM.
2+
#
3+
# This source code is licensed under the Apache License, Version 2.0 found in
4+
# the LICENSE.txt file in the root directory of this source tree.
5+
6+
.PHONY: env doc
7+
8+
# Dependencies need to be installed on the Anaconda virtual environment.
9+
env:
10+
if test $(findstring QISKitenv, $(shell conda info --envs)); then \
11+
bash -c "source activate QISKitenv;pip install -r requirements.txt"; \
12+
else \
13+
conda create -y -n QISKitenv python=3; \
14+
bash -c "source activate QISKitenv;pip install -r requirements.txt"; \
15+
fi;
16+
17+
doc:
18+
# create Qiskit Chemistry docs
19+
make -C ../qiskit-chemistry/docs clean
20+
sphinx-apidoc -f -o ../qiskit-chemistry/docs ../qiskit-chemistry
21+
make -C ../qiskit-chemistry/docs html
22+
# create Aqua docs
23+
make -C docs clean
24+
sphinx-apidoc -f -o docs .
25+
make -C docs html
26+
27+
clean:
28+
# clean Qiskit Chemistry docs
29+
make -C ../qiskit-chemistry/docs clean
30+
# clean Qiskit Aqua docs
31+
make -C docs clean

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ Qiskit Algorithms for Quantum Applications (Qiskit Aqua) is a library of algorit
99
that uses [Qiskit Terra](https://qiskit.org/terra) to build out, compile and run quantum circuits.
1010

1111
Aqua provides a library of cross-domain algorithms upon which domain-specific applications can be
12-
built. At the time of writing, [Aqua Chemistry](https://github.com/Qiskit/aqua-chemistry) has
12+
built. At the time of writing, [Aqua Chemistry](https://github.com/Qiskit/qiskit-chemistry) has
1313
been created to utilize Aqua for quantum chemistry computations. Aqua is also showcased for other
1414
domains with both code and notebook examples, such as
15-
[Aqua Optimization](https://github.com/Qiskit/aqua-tutorials/tree/master/optimization) and
16-
[Aqua Artificial Intelligence](https://github.com/Qiskit/aqua-tutorials/tree/master/artificial_intelligence).
15+
[Aqua Optimization](https://github.com/Qiskit/qiskit-tutorials/tree/master/community/aqua/optimization) and
16+
[Aqua Artificial Intelligence](https://github.com/Qiskit/qiskit-tutorials/tree/master/community/aqua/artificial_intelligence).
1717

1818
Aqua was designed to be extensible, and uses a pluggable framework where algorithms and support objects used
1919
by algorithms, such as optimizers, variational forms, and oracles, are derived from a defined base class for the type and
@@ -136,7 +136,7 @@ python qiskit_aqua/ui/browser
136136
### Programming
137137

138138
Any algorithm in Aqua can be run programmatically too. The aqua folder in the
139-
[aqua-tutorials GitHub repository](https://github.com/Qiskit/aqua-tutorials/tree/master/aqua) contains numerous
139+
[qiskit-tutorial GitHub repository](https://github.com/Qiskit/qiskit-tutorials/tree/master/community/aqua) contains numerous
140140
examples that demonstrate how to do this. As you can see, Aqua exposes a `run_algorithm` method, which takes either
141141
the JSON algorithm input or an equivalent Python dictionary and optional `AlgorithmInput` object for the algorithm.
142142
There is also a `run_algorithm_to_json` method that simply takes the input and saves it to JSON in a self-contained form,

docs/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# You can set these variables from the command line.
55
SPHINXOPTS =
66
SPHINXBUILD = python -msphinx
7-
SPHINXPROJ = QLib
7+
SPHINXPROJ = Aqua
88
SOURCEDIR = .
99
BUILDDIR = _build
1010

docs/_templates/autosummary/class.rst

Lines changed: 0 additions & 29 deletions
This file was deleted.

docs/_templates/better-apidoc/module.rst

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)