Skip to content
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

Migrating qiskit_algorithms #817

Merged
merged 69 commits into from
Aug 13, 2024
Merged

Conversation

edoaltamura
Copy link
Collaborator

Summary

Qiskit algorithms, which Qiskit machine-learning (ML) depends on, is no longer officially supported as of qiskit-community/qiskit-algorithms@4247d06. To continue improving the subset of Algorithms features that are relevant to Qiskit machine-learning, it has been proposed to migrate those from Algorithms to ML.

This PR implements the merge of the subset of Qiskit Algorithms features needed for ML, as described in #811.

Closes #811.

  • qiskit_algorithms/gradients -> qiskit_machine_learning/gradients
  • qiskit_algorithms/optimizers -> qiskit_machine_learning/optimizers
  • qiskit_algorithms/state_fidelities -> qiskit_machine_learning/state_fidelities
  • qiskit_algorithms/utils partially merged with qiskit_machine_learning/utils

Details and comments

The unit tests are also merged following the same structure as in the source directory.

  • qiskit_algorithms/tests/gradients -> qiskit_machine_learning/tests/gradients
  • qiskit_algorithms/tests/optimizers -> qiskit_machine_learning/tests/optimizers
  • qiskit_algorithms/tests/state_fidelities -> qiskit_machine_learning/tests/state_fidelities
  • qiskit_algorithms/tests/utils partially merged with qiskit_machine_learning/tests/utils

Once the merge is complete, the codebase will be ready for a targeted attempt at resolving:

Copy link
Contributor

@declanmillar declanmillar left a comment

Choose a reason for hiding this comment

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

I left a minor style suggestion. Otherwise, LGTM.

@edoaltamura edoaltamura mentioned this pull request Aug 6, 2024
@declanmillar
Copy link
Contributor

LGTM. Thanks again :)

Copy link
Collaborator

@OkuyanBoga OkuyanBoga left a comment

Choose a reason for hiding this comment

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

I think it is good to go. Thanks @edoaltamura

@OkuyanBoga OkuyanBoga merged commit 094b994 into qiskit-community:main Aug 13, 2024
18 checks passed
@edoaltamura edoaltamura deleted the migrate-algo branch October 18, 2024 11:43
OkuyanBoga added a commit to OkuyanBoga/hc-qiskit-machine-learning that referenced this pull request Nov 7, 2024
* Migrating `qiskit_algorithms` (qiskit-community#817)

* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>

* Revamp readme pt2 (qiskit-community#822)

* Restructure README.md
---------

Co-authored-by: Steve Wood <[email protected]>

* V2 Primitive Support for SamplerQNN and Gradients

* Update base_sampler_gradient.py

* Update qiskit_machine_learning/gradients/param_shift/param_shift_sampler_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/spsa/spsa_sampler_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/spsa/spsa_sampler_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Fix lint errors due to Pylint 3.3.0 update in CI (qiskit-community#833)

* disable=too-many-positional-arguments

* Transfer pylint rc to toml

* Transfer pylint rc to toml

* Minor fixes

* Remove Python 3.8 from CI (qiskit-community#824) (qiskit-community#826)

* Remove Python 3.8 in CI (qiskit-community#824)

* Correct `tmp` dirs (qiskit-community#818)

* Correct unit py version (qiskit-community#818)

* Add reno (qiskit-community#818)

* Finalze removal of py38 (qiskit-community#818)

* Spelling

* Remove duplicate tmp folder

* Updated the release note

* Bump min pyversion in toml

* Remove ipython constraints

* Update reno

* Updated test for test_sampler_qnn

* Fix: output_shape

* Adding optimisation level to TestSamplerQNN SamplerV2 option

* Correcting the PUB prep for SamplerV2 by changing max iterator from n to len(job_param_values). Added a load of print statements to investigate behaviour when self._output_shape = (2, 3) - a tuple as this was failing tests due to a comparison in line 166. This has lead me to think that the way we are calculating QuasiDistribution is wrong as we need to know which real qubits the virtual qubits have been transpiled too to calculate the correct dist for SamplerV2. Following this up with IBM runtime.

* Update sampler_qnn.py for correcting tuple output_shape when interpret is provided.

* Adding ISA capabilities to gradients

* Fix output shape and its default for V2

* Implement SamplerV2 for bayesian inference

* Implement SamplerV2 for bayesian inference

* Adding ISA capabilities to SamplerQNN and ParamShiftSamplerGradient

* Removing unused backend

* Removing failed merge conflicts

* Removing residual merge conflicts

* added SamplerV2 support for ComputeUncompute

* Removing multiple tranpilations within same test

* Formatting

* Linting

* Adding measure_all to setUp

* removing default pm

---------

Co-authored-by: Edoardo Altamura <[email protected]>
Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>
Co-authored-by: oscar-wallis <[email protected]>
oscar-wallis added a commit to OkuyanBoga/hc-qiskit-machine-learning that referenced this pull request Nov 7, 2024
* Migrating `qiskit_algorithms` (qiskit-community#817)

* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>

* Revamp readme pt2 (qiskit-community#822)

* Restructure README.md
---------

Co-authored-by: Steve Wood <[email protected]>

* Added support for EstimatorV2 primitives

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/param_shift/param_shift_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/spsa/spsa_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/param_shift/param_shift_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/param_shift/param_shift_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Fix lint errors due to Pylint 3.3.0 update in CI (qiskit-community#833)

* disable=too-many-positional-arguments

* Transfer pylint rc to toml

* Transfer pylint rc to toml

* Cleaner statements

* Remove Python 3.8 from CI (qiskit-community#824) (qiskit-community#826)

* Remove Python 3.8 in CI (qiskit-community#824)

* Correct `tmp` dirs (qiskit-community#818)

* Correct unit py version (qiskit-community#818)

* Add reno (qiskit-community#818)

* Finalze removal of py38 (qiskit-community#818)

* Spelling

* Remove duplicate tmp folder

* Updated the release note

* Bump min pyversion in toml

* Remove ipython constraints

* Update reno

* Added unit tests for estimatorqnnV2 and minor fixes

* Make black

* Make lint and changes to V1/2 choice logics

* Update requirements

* Add default precision

* Update estimator tests

* Change num qubits in backend

* Allow for num_qubits=None

* Fix shape in parameter shift

* Fix shape in parameter shift

* Fix shape observables

* Fix shape observables

* Change default precision to match base estimator

* Fix remaining shape issues

* Estimator seed has no effect in local testing

* fix argnames and supress error tolerance for test_estimator_qnn_v2

* Added pass manager the gradients.

* quick bugfix for isa_circuits

* Updating PUBs for estimatorqnn, updating test_estimator_qnn_v2 for ISA circs and relaxing tolerances

* Lint and formatting

* Tranpiling observables for isa g circs

* fixing apply_layout

---------

Co-authored-by: Edoardo Altamura <[email protected]>
Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>
Co-authored-by: oscar-wallis <[email protected]>
oscar-wallis added a commit to OkuyanBoga/hc-qiskit-machine-learning that referenced this pull request Nov 8, 2024
* Migrating `qiskit_algorithms` (qiskit-community#817)

* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>

* Revamp readme pt2 (qiskit-community#822)

* Restructure README.md
---------

Co-authored-by: Steve Wood <[email protected]>

* Fix lint errors due to Pylint 3.3.0 update in CI (qiskit-community#833)

* disable=too-many-positional-arguments

* Transfer pylint rc to toml

* Transfer pylint rc to toml

* Remove Python 3.8 from CI (qiskit-community#824) (qiskit-community#826)

* Remove Python 3.8 in CI (qiskit-community#824)

* Correct `tmp` dirs (qiskit-community#818)

* Correct unit py version (qiskit-community#818)

* Add reno (qiskit-community#818)

* Finalze removal of py38 (qiskit-community#818)

* Spelling

* Remove duplicate tmp folder

* Updated the release note

* Bump min pyversion in toml

* Remove ipython constraints

* Update reno

* Reestablish latest Pytorch and Numpy (qiskit-community#818) (qiskit-community#827)

* Reestablish latest Pytorch and Numpy (qiskit-community#818)

* Keep pinned Numpy

* Keep pinned Numpy

* Fix numpy min version

* Fix RawFeatureVector for failing test case (qiskit-community#838)

* Alter RawFeatureVector normalization

* Alter RawFeatureVector normalization

* Release nbconvert constraints (qiskit-community#842)

* Remove redundant MacOS 14 image in CI (qiskit-community#841)

* Remove redundant MacOS 14 image

* Update with macos-latest-large

* Revert "Update with macos-latest-large"

This reverts commit 14f945e.

* Update with macos-latest-large

* Update v2 (#54)

* bugfix for V1

* formatting

---------

Co-authored-by: oscar-wallis <[email protected]>

---------

Co-authored-by: Edoardo Altamura <[email protected]>
Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>
OkuyanBoga added a commit that referenced this pull request Nov 11, 2024
* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

* Added support for SamplerV2 primitives (#49)

* Migrating `qiskit_algorithms` (#817)

* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>

* Revamp readme pt2 (#822)

* Restructure README.md
---------

Co-authored-by: Steve Wood <[email protected]>

* V2 Primitive Support for SamplerQNN and Gradients

* Update base_sampler_gradient.py

* Update qiskit_machine_learning/gradients/param_shift/param_shift_sampler_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/spsa/spsa_sampler_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/spsa/spsa_sampler_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/sampler_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Fix lint errors due to Pylint 3.3.0 update in CI (#833)

* disable=too-many-positional-arguments

* Transfer pylint rc to toml

* Transfer pylint rc to toml

* Minor fixes

* Remove Python 3.8 from CI (#824) (#826)

* Remove Python 3.8 in CI (#824)

* Correct `tmp` dirs (#818)

* Correct unit py version (#818)

* Add reno (#818)

* Finalze removal of py38 (#818)

* Spelling

* Remove duplicate tmp folder

* Updated the release note

* Bump min pyversion in toml

* Remove ipython constraints

* Update reno

* Updated test for test_sampler_qnn

* Fix: output_shape

* Adding optimisation level to TestSamplerQNN SamplerV2 option

* Correcting the PUB prep for SamplerV2 by changing max iterator from n to len(job_param_values). Added a load of print statements to investigate behaviour when self._output_shape = (2, 3) - a tuple as this was failing tests due to a comparison in line 166. This has lead me to think that the way we are calculating QuasiDistribution is wrong as we need to know which real qubits the virtual qubits have been transpiled too to calculate the correct dist for SamplerV2. Following this up with IBM runtime.

* Update sampler_qnn.py for correcting tuple output_shape when interpret is provided.

* Adding ISA capabilities to gradients

* Fix output shape and its default for V2

* Implement SamplerV2 for bayesian inference

* Implement SamplerV2 for bayesian inference

* Adding ISA capabilities to SamplerQNN and ParamShiftSamplerGradient

* Removing unused backend

* Removing failed merge conflicts

* Removing residual merge conflicts

* added SamplerV2 support for ComputeUncompute

* Removing multiple tranpilations within same test

* Formatting

* Linting

* Adding measure_all to setUp

* removing default pm

---------

Co-authored-by: Edoardo Altamura <[email protected]>
Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>
Co-authored-by: oscar-wallis <[email protected]>

* Added support for EstimatorV2 primitives (#48)

* Migrating `qiskit_algorithms` (#817)

* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>

* Revamp readme pt2 (#822)

* Restructure README.md
---------

Co-authored-by: Steve Wood <[email protected]>

* Added support for EstimatorV2 primitives

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/param_shift/param_shift_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/spsa/spsa_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/param_shift/param_shift_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/neural_networks/estimator_qnn.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Update qiskit_machine_learning/gradients/param_shift/param_shift_estimator_gradient.py

Co-authored-by: Edoardo Altamura <[email protected]>

* Fix lint errors due to Pylint 3.3.0 update in CI (#833)

* disable=too-many-positional-arguments

* Transfer pylint rc to toml

* Transfer pylint rc to toml

* Cleaner statements

* Remove Python 3.8 from CI (#824) (#826)

* Remove Python 3.8 in CI (#824)

* Correct `tmp` dirs (#818)

* Correct unit py version (#818)

* Add reno (#818)

* Finalze removal of py38 (#818)

* Spelling

* Remove duplicate tmp folder

* Updated the release note

* Bump min pyversion in toml

* Remove ipython constraints

* Update reno

* Added unit tests for estimatorqnnV2 and minor fixes

* Make black

* Make lint and changes to V1/2 choice logics

* Update requirements

* Add default precision

* Update estimator tests

* Change num qubits in backend

* Allow for num_qubits=None

* Fix shape in parameter shift

* Fix shape in parameter shift

* Fix shape observables

* Fix shape observables

* Change default precision to match base estimator

* Fix remaining shape issues

* Estimator seed has no effect in local testing

* fix argnames and supress error tolerance for test_estimator_qnn_v2

* Added pass manager the gradients.

* quick bugfix for isa_circuits

* Updating PUBs for estimatorqnn, updating test_estimator_qnn_v2 for ISA circs and relaxing tolerances

* Lint and formatting

* Tranpiling observables for isa g circs

* fixing apply_layout

---------

Co-authored-by: Edoardo Altamura <[email protected]>
Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>
Co-authored-by: oscar-wallis <[email protected]>

* Pulled changes from main

* Quick fix

* bugfix for V1

* formatting

* Prep-ing for 0.8 (#53)

* Migrating `qiskit_algorithms` (#817)

* Update README.md

* Generalize the Einstein summation signature

* Add reno

* Update Copyright

* Rename and add test

* Update Copyright

* Add docstring for `test_get_einsum_signature`

* Correct spelling

* Disable spellcheck for comments

* Add `docstring` in pylint dict

* Delete example in docstring

* Add Einstein in pylint dict

* Add full use case in einsum dict

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Spelling and type ignore

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (1/2)

* Remove for loop in einsum function and remove Literal arguments (2/2)

* Update RuntimeError msg

* Update RuntimeError msg - line too long

* Trigger CI

* Merge algos, globals.random to fix

* Fixed `algorithms_globals`

* Import /tests and run CI locally

* Fix copyrights and some spellings

* Ignore mypy in 8 instances

* Merge spell dicts

* Black reformatting

* Black reformatting

* Add reno

* Lint sanitize

* Pylint

* Pylint

* Pylint

* Pylint

* Fix relative imports in tutorials

* Fix relative imports in tutorials

* Remove algorithms from Jupyter magic methods

* Temporarily disable "Run stable tutorials" tests

* Change the docstrings with imports from qiskit_algorithms

* Styling

* Update qiskit_machine_learning/optimizers/gradient_descent.py

Co-authored-by: Declan Millar <[email protected]>

* Update qiskit_machine_learning/optimizers/optimizer_utils/learning_rate.py

Co-authored-by: Declan Millar <[email protected]>

* Add more tests for utils

* Add more tests for optimizers: adam, bobyqa, gsls and imfil

* Fix random seed for volatile optimizers

* Fix random seed for volatile optimizers

* Add more tests

* Pylint dict

* Activate scikit-quant-0.8.2

* Remove scikit-quant methods

* Remove scikit-quant methods (2)

* Edit the release notes and Qiskit version 1+

* Edit the release notes and Qiskit version 1+

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Add Qiskit 1.0 upgrade in reno

* Apply line breaks

* Restructure line breaks

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>

* Revamp readme pt2 (#822)

* Restructure README.md
---------

Co-authored-by: Steve Wood <[email protected]>

* Fix lint errors due to Pylint 3.3.0 update in CI (#833)

* disable=too-many-positional-arguments

* Transfer pylint rc to toml

* Transfer pylint rc to toml

* Remove Python 3.8 from CI (#824) (#826)

* Remove Python 3.8 in CI (#824)

* Correct `tmp` dirs (#818)

* Correct unit py version (#818)

* Add reno (#818)

* Finalze removal of py38 (#818)

* Spelling

* Remove duplicate tmp folder

* Updated the release note

* Bump min pyversion in toml

* Remove ipython constraints

* Update reno

* Reestablish latest Pytorch and Numpy (#818) (#827)

* Reestablish latest Pytorch and Numpy (#818)

* Keep pinned Numpy

* Keep pinned Numpy

* Fix numpy min version

* Fix RawFeatureVector for failing test case (#838)

* Alter RawFeatureVector normalization

* Alter RawFeatureVector normalization

* Release nbconvert constraints (#842)

* Remove redundant MacOS 14 image in CI (#841)

* Remove redundant MacOS 14 image

* Update with macos-latest-large

* Revert "Update with macos-latest-large"

This reverts commit 14f945e.

* Update with macos-latest-large

* Update v2 (#54)

* bugfix for V1

* formatting

---------

Co-authored-by: oscar-wallis <[email protected]>

---------

Co-authored-by: Edoardo Altamura <[email protected]>
Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>

* Update test_qbayesian

* Bugfixing the test_gradient

* Fixing an Options error with sampler_gradient

* Linting and formatting

* Add reno

* Fix dict typing definition

* Fix mypy

* Issue deprecation warnings

* Update skip test message

* Update deprecation warning for qbayesian.py

* Update deprecation warning for qbayesian.py

* Add headers in deprecation.py

* Add headers in deprecation.py

* Add headers in deprecation.py

* Correct spelling

* Add spelling `msg`

---------

Co-authored-by: FrancescaSchiav <[email protected]>
Co-authored-by: M. Emre Sahin <[email protected]>
Co-authored-by: Declan Millar <[email protected]>
Co-authored-by: Steve Wood <[email protected]>
Co-authored-by: oscar-wallis <[email protected]>
Co-authored-by: Emre <[email protected]>
Co-authored-by: Oscar <[email protected]>
@edoaltamura edoaltamura mentioned this pull request Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies 🔗 Involves external dependency libraries priority: high type: design 📐 Relevant to code architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate qiskit_algorithms following end-of-support
6 participants