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

Allow Custom Lambda for Iterative Grover, see #893 #1005

Merged
merged 8 commits into from
May 21, 2020

Conversation

molar-volume
Copy link
Contributor

@molar-volume molar-volume commented May 20, 2020

Summary

Moved here from #1001.

Details and comments

Closes #893.

molar-volume and others added 4 commits May 20, 2020 21:33
* fix problem with variable bounds in cobyla optimizer and add unit test

* derive initial state from variable bounds

Co-authored-by: Julien Gacon <jules.gacon@googlemail.com>
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
@Cryoris Cryoris changed the title https://github.com/Qiskit/qiskit-aqua/issues/893 Allow Custom Lambda for Iterative Grover, see #893 May 20, 2020
@Cryoris Cryoris added the Changelog: New Feature Include in the Added section of the changelog label May 20, 2020
Copy link
Member

@woodsp-ibm woodsp-ibm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has changes that revert the 2 files that were updated in PR #997. Can this PR be updated to avoid this revert which should not happen.

* Replace algorithm result eigvecs by eingenstate

* remove return type from docstring
@molar-volume
Copy link
Contributor Author

sorry for that @woodsp-ibm,
now I cherry-picked the commit for #997. Please see if it is OK now.

@woodsp-ibm
Copy link
Member

Thanks for the contribution and persevering with the CLA etc to make it happen :)

@woodsp-ibm woodsp-ibm merged commit 9ddf03c into qiskit-community:master May 21, 2020
@molar-volume
Copy link
Contributor Author

My pleasure. Thanks for your assistance @woodsp-ibm .

@Cryoris
Copy link
Contributor

Cryoris commented May 21, 2020

Thank you @molar-volume 👍

We should add a test for setting the lam parameter sometimes, I think this isn't covered right now, only rotation_counts.

@molar-volume
Copy link
Contributor Author

Hi @Cryoris ,
sure I can make the change right now.
Shall I open pull request for the same issue 893?

@Cryoris
Copy link
Contributor

Cryoris commented May 22, 2020

That'd be great, thanks. You don't have to reference the issue anymore, you can just put something like "Test lam argument in Grover algorithm".

mtreinish pushed a commit to mtreinish/qiskit-core that referenced this pull request Nov 20, 2020
…-aqua#893 (qiskit-community/qiskit-aqua#1005)

* qiskit-community/qiskit-aqua#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 <41292468+stefan-woerner@users.noreply.github.com>
Co-authored-by: Julien Gacon <jules.gacon@googlemail.com>
Co-authored-by: Manoel Marques <manoel@us.ibm.com>
manoelmarques added a commit to manoelmarques/qiskit-terra that referenced this pull request Dec 7, 2020
…-aqua#893 (qiskit-community/qiskit-aqua#1005)

* qiskit-community/qiskit-aqua#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 <41292468+stefan-woerner@users.noreply.github.com>
Co-authored-by: Julien Gacon <jules.gacon@googlemail.com>
Co-authored-by: Manoel Marques <manoel@us.ibm.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Changelog: New Feature Include in the Added section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Iterative Grover Allows Custom Lambda
5 participants