Skip to content

Conversation

anedumla
Copy link
Contributor

@anedumla anedumla commented Nov 9, 2020

Summary

Adds the new feature to the arithmetic module.

Blocked on #5332

Details and comments

Given a function as an input, find a piecewise polynomial approximation with numpy's Chebyshev module and implement it as Pauli rotations using the PiecewisePolynomialRotations class.

@anedumla anedumla requested a review from a team as a code owner November 9, 2020 16:10
@anedumla anedumla changed the title Add PiecewiseChebyshev [WIP] Add PiecewiseChebyshev Nov 11, 2020
@Cryoris Cryoris changed the title [WIP] Add PiecewiseChebyshev Add PiecewiseChebyshev Dec 18, 2020
@Cryoris Cryoris added the Changelog: New Feature Include in the "Added" section of the changelog label Dec 28, 2020
@Cryoris Cryoris changed the title Add PiecewiseChebyshev Add PiecewiseChebyshev arithmetic circuit Dec 28, 2020
@Cryoris Cryoris merged commit bd3b360 into Qiskit:master Dec 28, 2020
molar-volume pushed a commit to molar-volume/qiskit-terra that referenced this pull request Dec 29, 2020
* general polynomial approximation

* release notes

* fix qubit re-allocation

* fix re-calling build

* Update qiskit/circuit/library/arithmetic/piecewise_chebyshev.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* Update qiskit/circuit/library/arithmetic/piecewise_chebyshev.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* Update qiskit/circuit/library/arithmetic/piecewise_chebyshev.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* fix indentation lint error

* move tests to library module

* Add suggestions from code review

Co-authored-by: Julien Gacon <gaconju@gmail.com>
mergify bot added a commit that referenced this pull request Jan 13, 2021
* 1. params are required in convert method in GradientBased and HessianBased subclasses
2. fix on handling params of type ParameterExpression

* Update qiskit/opflow/gradients/gradient.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* passmanager(..., callback=...) parameter removed (#5522)

* passmanager callback removal

* unused-import

* reno

* better initial_layout validation (#5526)

Co-authored-by: Kevin Krsulich <kevin.krsulich@ibm.com>

* 1) unit tests modified to test ParameterVector input for Gradient, NaturalGradient, QFI and Hessian
2) index method added to ParameterVector
3) handling of ParameterVector changed for Hessian to be consistent with list params

* Hessian with respect to vector-like params returns matrix, unit test modified accordingly

* Add PiecewiseChebyshev arithmetic circuit (#5364)

* general polynomial approximation

* release notes

* fix qubit re-allocation

* fix re-calling build

* Update qiskit/circuit/library/arithmetic/piecewise_chebyshev.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* Update qiskit/circuit/library/arithmetic/piecewise_chebyshev.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* Update qiskit/circuit/library/arithmetic/piecewise_chebyshev.py

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* fix indentation lint error

* move tests to library module

* Add suggestions from code review

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* Ensure aux_operator eigenvalues are normalized (#5496)

As reported on multiple occasions in Qiskit Aqua ([1], [2]), the
eigenvalues of the auxiliary operators are not correctly normalized when
the QASM backend is used.

This commit fixes this short-coming by applying the same normalization
to the VQE's eigenstate when obtained from a QASM backend (in which case
this is a dictionary) as done by the `CircuitSampler` in its
`sample_circuits` function.
The case of the statevector backend is unaffected by this change, as it
will return the eigenstate as a list.

A unittest is added which asserts this behavior.

[1]: https://github.com/Qiskit/qiskit-aqua/issues/1460
[2]: qiskit-community/qiskit-aqua#1467

Co-authored-by: Julien Gacon <gaconju@gmail.com>

Co-authored-by: Julien Gacon <gaconju@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Hessian with respect to vector-like param returns matrix, unit test modified accordingly

Co-authored-by: Julien Gacon <gaconju@gmail.com>
Co-authored-by: Luciano Bello <luciano.bello@ibm.com>
Co-authored-by: Kevin Krsulich <kevin.krsulich@ibm.com>
Co-authored-by: Almudena Carrera Vazquez <almudenacarreravazquez@hotmail.com>
Co-authored-by: Max Rossmannek <oss@zurich.ibm.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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.

2 participants