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

Commit

Permalink
Merge pull request #263 from manoelmarques/stable-0.4.0
Browse files Browse the repository at this point in the history
New Release 0.4.0
  • Loading branch information
manoelmarques authored Dec 19, 2018
2 parents 7b101fe + e99a5fb commit b407892
Show file tree
Hide file tree
Showing 265 changed files with 12,182 additions and 5,753 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ docs/*.rst
!docs/aqua_tutorials.rst
!docs/aqua_finance.rst
!docs/qiskit_aqua_chemistry.rst
!docs/random_distributions.rst
!docs/uncertainty_problems.rst
!docs/multiclass_extensions.rst
!docs/release_history.rst

# PyBuilder
target/
Expand Down
72 changes: 72 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Copyright 2018, IBM.
#
# This source code is licensed under the Apache License, Version 2.0 found in
# the LICENSE.txt file in the root directory of this source tree.

notifications:
on_success: change
on_failure: always

cache: pip
os: linux
dist: trusty

language: python
python:
- "3.6"

stage_dependencies: &stage_dependencies
# Install Dependencies
# The env. variable MASTER_BRANCH_DEPENDENCIES forces dependencies used from master
env:
- >
MASTER_BRANCH_DEPENDENCIES=true
CMAKE_FLAGS="-D CMAKE_CXX_COMPILER=g++-5 -D ENABLE_TARGETS_QA=False -D WHEEL_TAG=-pmanylinux1_x86_64 -D STATIC_LINKING=True"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- liblapack-dev
- libblas-dev
- g++-5
before_install:
# download Qiskit Terra master and unzip it only if forced from master or not stable branch, otherwise use the pypi version
- |
if [ ${MASTER_BRANCH_DEPENDENCIES} = "true" ] || [ ${TRAVIS_BRANCH} != "stable" ]; then
wget https://codeload.github.com/Qiskit/qiskit-terra/zip/master -O /tmp/qiskit-terra.zip
unzip /tmp/qiskit-terra.zip -d /tmp/
# Install Qiskit Terra requirements.
pip install -U -r /tmp/qiskit-terra-master/requirements.txt
pip install -U -r /tmp/qiskit-terra-master/requirements-dev.txt
# Create the basic cmake structure, setting out/ as the default dir.
cd /tmp/qiskit-terra-master
mkdir out && cd out && cmake $CMAKE_FLAGS ..
# Compile the executables
make
# Install local Qiskit Terra
pip install -e /tmp/qiskit-terra-master
# back to current repo directory
cd $TRAVIS_BUILD_DIR
fi
install:
# install Aqua and dev requirements
- pip install -e $TRAVIS_BUILD_DIR
- pip install -U -r requirements-dev.txt

# Define the order of the stages.
stages:
- test first half
- test second half

jobs:
include:
- stage: test first half
<<: *stage_dependencies
script:
- python test/customtests.py 0 -end 21

- stage: test second half
<<: *stage_dependencies
script:
- python test/customtests.py 21
52 changes: 45 additions & 7 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,43 @@ The format is based on `Keep a Changelog`_.
`UNRELEASED`_
=============

`0.4.0`_ - 2018-12-19
=====================

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

`0.3.1`_ - 2018-11-29
=====================

Expand All @@ -41,7 +78,7 @@ Added
- 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
- Step size configurable for optimizers with numerical approximation of the jacobian
- Z2 Symmetry tapering
- Operator
- HartreeFock InitialState
Expand Down Expand Up @@ -133,11 +170,12 @@ Changed
- Updated qiskit minimum version in setup.py.
- Fixed links in readme.me.

.. _UNRELEASED: https://github.com/Qiskit/aqua/compare/0.3.1...HEAD
.. _0.3.1: https://github.com/Qiskit/aqua/compare/0.3.0...0.3.1
.. _0.3.0: https://github.com/Qiskit/aqua/compare/0.2.0...0.3.0
.. _0.2.0: https://github.com/Qiskit/aqua/compare/0.1.2...0.2.0
.. _0.1.2: https://github.com/Qiskit/aqua/compare/0.1.1...0.1.2
.. _0.1.1: https://github.com/Qiskit/aqua/compare/0.1.0...0.1.1
.. _UNRELEASED: https://github.com/Qiskit/qiskit-aqua/compare/0.4.0...HEAD
.. _0.4.0: https://github.com/Qiskit/qiskit-aqua/compare/0.3.1...0.4.0
.. _0.3.1: https://github.com/Qiskit/qiskit-aqua/compare/0.3.0...0.3.1
.. _0.3.0: https://github.com/Qiskit/qiskit-aqua/compare/0.2.0...0.3.0
.. _0.2.0: https://github.com/Qiskit/qiskit-aqua/compare/0.1.2...0.2.0
.. _0.1.2: https://github.com/Qiskit/qiskit-aqua/compare/0.1.1...0.1.2
.. _0.1.1: https://github.com/Qiskit/qiskit-aqua/compare/0.1.0...0.1.1

.. _Keep a Changelog: http://keepachangelog.com/en/1.0.0/
6 changes: 4 additions & 2 deletions CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ Aqua continues now to grow with the help and work of many
people, listed here in alphabetical order, who contribute to the project at different
levels:

- Panagiotis Barkoutsos
- `Panagiotis Barkoutsos <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-BPA>`__
- Sergey Bravyi
- Chun-Fu (Richard) Chen
- `Antonio Córcoles-Gonzalez <https://researcher.watson.ibm.com/researcher/view.php?person=us-adcorcol>`__
- Albert Frisch
- `Jay Gambetta <https://researcher.watson.ibm.com/researcher/view.php?person=us-jay.gambetta>`__
- Jennifer Glick
- `Donny Greenberg <https://researcher.watson.ibm.com/researcher/view.php?person=ibm-donny>`__
Expand All @@ -25,10 +26,11 @@ levels:
- `Nikolaj Moll <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-NIM>`__
- `Giacomo Nannicini <https://researcher.watson.ibm.com/researcher/view.php?person=us-nannicini>`__
- Pauline Ollitrault
- `Anna Phan <https://researcher.watson.ibm.com/researcher/view.php?person=au1-anna.phan>`__
- `Marco Pistoia <https://researcher.watson.ibm.com/researcher/view.php?person=us-pistoia>`__
- `Julia Rice <https://researcher.watson.ibm.com/researcher/view.php?person=us-jrice>`__
- `Raymond Harry Putra Rudy <https://researcher.watson.ibm.com/researcher/view.php?person=jp-RUDYHAR>`__
- `Kanav Setia <https://physics.dartmouth.edu/people/kanav-setia>`__
- `Ivano Tavernelli <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-ITA>`__
- `Stephen Wood <https://researcher.watson.ibm.com/researcher/view.php?person=us-woodsp>`__
- `Stefan Wörner <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-wor>`__
- `Stefan Woerner <https://researcher.watson.ibm.com/researcher/view.php?person=zurich-wor>`__
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
recursive-include qiskit_aqua *.json
include qiskit_aqua/Qconfig_template.txt
recursive-include qiskit_aqua_ui *.json
31 changes: 31 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2018, IBM.
#
# This source code is licensed under the Apache License, Version 2.0 found in
# the LICENSE.txt file in the root directory of this source tree.

.PHONY: env doc

# Dependencies need to be installed on the Anaconda virtual environment.
env:
if test $(findstring QISKitenv, $(shell conda info --envs)); then \
bash -c "source activate QISKitenv;pip install -r requirements.txt"; \
else \
conda create -y -n QISKitenv python=3; \
bash -c "source activate QISKitenv;pip install -r requirements.txt"; \
fi;

doc:
# create Qiskit Chemistry docs
make -C ../qiskit-chemistry/docs clean
sphinx-apidoc -f -o ../qiskit-chemistry/docs ../qiskit-chemistry
make -C ../qiskit-chemistry/docs html
# create Aqua docs
make -C docs clean
sphinx-apidoc -f -o docs .
make -C docs html

clean:
# clean Qiskit Chemistry docs
make -C ../qiskit-chemistry/docs clean
# clean Qiskit Aqua docs
make -C docs clean
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ Qiskit Algorithms for Quantum Applications (Qiskit Aqua) is a library of algorit
that uses [Qiskit Terra](https://qiskit.org/terra) to build out, compile and run quantum circuits.

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

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

Any algorithm in Aqua can be run programmatically too. The aqua folder in the
[aqua-tutorials GitHub repository](https://github.com/Qiskit/aqua-tutorials/tree/master/aqua) contains numerous
[qiskit-tutorial GitHub repository](https://github.com/Qiskit/qiskit-tutorials/tree/master/community/aqua) contains numerous
examples that demonstrate how to do this. As you can see, Aqua exposes a `run_algorithm` method, which takes either
the JSON algorithm input or an equivalent Python dictionary and optional `AlgorithmInput` object for the algorithm.
There is also a `run_algorithm_to_json` method that simply takes the input and saves it to JSON in a self-contained form,
Expand Down
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = python -msphinx
SPHINXPROJ = QLib
SPHINXPROJ = Aqua
SOURCEDIR = .
BUILDDIR = _build

Expand Down
29 changes: 0 additions & 29 deletions docs/_templates/autosummary/class.rst

This file was deleted.

2 changes: 0 additions & 2 deletions docs/_templates/better-apidoc/module.rst

This file was deleted.

105 changes: 0 additions & 105 deletions docs/_templates/better-apidoc/package.rst

This file was deleted.

Loading

0 comments on commit b407892

Please sign in to comment.