Skip to content

Fetch from origin #121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Jun 14, 2020
Merged

Conversation

stefan-woerner
Copy link
Owner

Summary

Details and comments

mtreinish and others added 18 commits May 19, 2020 09:53
* Add reno fore release notes and update CONTRIBUTING guide

Moving forward aqua will be using reno for release documentation. This
commit adds a pro-forma release note and the documentation configuration
to verify release notes moving forward. It also updates the CONTRIBUTING
guide to reflect this new change.

Fixes #990

* Add missing docs file

* Fix copy and paste errors

* Fix more copy and paste errors

* Add release_notes to index.rst

Co-authored-by: Manoel Marques <[email protected]>
* fix problem with variable bounds in cobyla optimizer and add unit test

* derive initial state from variable bounds

Co-authored-by: Julien Gacon <[email protected]>
…f add (#1000)

* removed unnecessary "[]"

* separate SummedOp.simplify out from SummedOp.add

* simplify

* revise comments

* add a unit test

* revise comments

* revise test_op_construction and test_abelian_grouper

* revise comments of abelian_grouper

* revise a comment

* use ddt for test of abelian grouper

* revise a comment
* #893
Iterative Grover Allows Custom Lambda
1) Parameter "lam" can be explicitly set in constructor, with default value 1.34, which is proved to be optimal
2) Sequence of Grover rotation counts can be explicitly set in the constructor, e.g. rotation_counts = [ 0, 1, 3, 5, 9 ]

Iterative Grover Allows Custom Lambda
- grover_test parametrised by rotation_counts
- if rotations_counts is None, the number of iterations increases by the factor of lambda
- the fixed rotation sequence [0, 0, ..., 49, 4, 60 ] is efficient choice according to Baritompa et al., Grovers Quantum Algorithm Applied to Global Optimization


Co-authored-by: Stefan Woerner <[email protected]>
Co-authored-by: Julien Gacon <[email protected]>
Co-authored-by: Manoel Marques <[email protected]>
* Update to new NumPy RNG

* use global generator on numpydiscriminator

* fix ml digits test

* fix finance random test

* increase scipy min.requirements

* fix portfolio test

* fix optimization tests

* unit test change

* fix hhl unit test

* change unit test

* fix IBMQ unit test imports

* change remaining np.random calls to generator

* change unit tests

* change seed on test vqc

* Amend unit tests

* Update numpy method

* Amend unit tests

* change vqc test

Co-authored-by: woodsp <[email protected]>
* Fix VQE optimizer setter
* Test lam argument in Grover algorithm
* re-use optimal vector result previously computed

* fix type of result.eigenstate
* reset step count in minimize and set params_new

* remove duplicate loc
* trim vqe

* dont remove max_evals_grouped test

* reduce tests to library objects

* wrap reused code in a separate assert fun

* reduce VQE2IQPE, SwapRZ and QGAN tests

* keep testing SwapRZ

* remove old qft tests

* remove trailing unpack

* trim QSVM

* fix qpe test

precision was set too high -- no trivial translation from "signficant" to either "places" or "delta"

* test HHL, QPE, QAE on deprecated QFTS

* fix vqe and qsvm tests

* fix vqc tests

* fix arg mixup in negative eigenvalues

* fix lint

* use better suited optimizer for statevector

* change assertLess to assertGreater

* correct QASM -> statevector comment

Co-authored-by: Manoel Marques <[email protected]>
* Use AlgorithmResult for return from run()

* Store phi_add as a gate, create _init_circuit method

* Use inverse and control logic inside controlled_controlled_phi_add_mod_N

* Use a separate circuit to be inverted during _controlled_multiple_mod_N

* Typing on _get_factors

* Import Gate from qiskit.circuit

* Use name in init_circuit

* Use inverse of controlled_multiple_mod_N

* Use gates for multiplication functions

* Reduce gate name and keep register order consistent

* Revert back to circuit functions

* Update documentation and extract modinv

* Update documentation in accordance with contribution guidelines

* Add tests

* Update for spell check

* Apply suggestions from code review

Co-authored-by: Julien Gacon <[email protected]>

* Rename to double_controlled_phi_add

* Initialise QuantumCircuit without private method

* Make modinv error message more meaningful

* Remove phi_add_gate test

* Add int type hint

* Omit quantum register in _phi_add_gate

* replace compose calls with append

* Use angles ParameterVector and rewrite double_controlled_phi_add_mod_N

* Mak phi_add_gate static

* Update indexing in _double_controlled_phi_add_mod_N

* Move inverted controlled addition into _controlled_multiple_mod_N

* Update documentation

* Apply angles correctly

* Revert "Remove phi_add_gate test"

This reverts commit 907e861.

* Optimize imports

* Update phi_add_gate test logic

* Remove phi_add_gate test

* Remove redundant qubit index call

* rename multiple_mod_N to gate, update formatting

* Add extra test case for modinv test

* Use circuit.qubits explicitly when reconstructing registers

* replace append calls in controlled addition circuit

* Make qft an instruction during __init__

* replace compose calls in _controlled_multiple_mod_N_gate

* Update docstrings

* Apply IQFT at the end of the exponentiation

* refactor logging formatting for results

* Make trivial factor check less verbose

* Return counts of successful results instead of each measurement

* Refactor factorization logic and logging in _get_factors()

* Add test cases for result counts

* Use % for logging statements

* extract continued fraction logic

* Sort factors in return of _get_factors

* rename x_value to x_final

* Fix type hint

* Do not evaluate i = N+1 in _get_factors()

Co-authored-by: Manoel Marques <[email protected]>
Co-authored-by: Julien Gacon <[email protected]>
Co-authored-by: Julien Gacon <[email protected]>
* Add static type hints checking

* run mypy on python 3.5

* a few more type hint fixes

Co-authored-by: Julien Gacon <[email protected]>
* Fix QAOA initial point bug
* fix remaining type hints errors
* Pin sphinx version temporarily
* Remove cvxopt and use cvxpy instead

This commit removes the usage of cvxopt from aqua. It was supposed to be
removed as part of the 0.7 release since some users have issue
installing it, and other users aren't allowed to have GPL code installed
in their environment. However, cvxopt is still used for the quadratic
program solver utility. cvxopt is not needed to solve a quadratic
program and other elements are already doing this with cvxpy which
doesn't have the same issues [1][2]. This commit migrates the cvxopt
usage to cvxpy to be consistent with the rest of qiskit.

[1] Qiskit/qiskit-aer@e41d868
[2] qiskit-community/qiskit-ignis@42cbbf8

* fix lint, unit tests

* remove cvxopt from travis

Co-authored-by: Manoel Marques <[email protected]>
@stefan-woerner stefan-woerner merged commit d9754ea into stefan-woerner:master Jun 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants