-
Notifications
You must be signed in to change notification settings - Fork 70
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
[WIP] New Qiskit device prototype #513
Conversation
* initial prototype device * add use_primitives kwarg * reorganize circuit conversion part 1 * move circuit translation out of device * estimator execution * some small improvements for codefactor * allow circuits with mixed MP types * move translation functions * add support for broadcast_expand and session * add kwargs for options * tidy up options and session * warn if using non-primitive measurements * remove context manager for device session * refactor handling of Options and kwargs * cleaning up * fix 'c register already exists' hardware error * change Options update interface * don't allow options to override shots * don't use classical reg in estimator circuits * update docstring * add conversion tests * add observable conversion test * fix bug in PauliOps converter * add more conversion test functions * remove Adjoint from supported ops and tidy up * tests and little fixes * add tests and black formatting * fix wire order bug for Estimator returns * add tests * remove error if device doesn't initialize * try to get CI to run * more CI stuff * try a thing * black formatting * fix typo * add missing skip-if-no-account * update converter tests * add mockers to allow tests to run in CI * temporarily comment out integration tests * get service from backend * add mock service to mock backend * mock calls to Session in unit testing * uncomment the other tests again * black formatting * newer black formatting * add mocked tests for main execute method * add MockSession to mocked execution tests * pylint * add backend to MockSession calls * mock tests for _execute methods * black formatting * mock transpile for execute_runtime_service * add name to MockedBackend * Apply suggestions from code review Co-authored-by: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: Astral Cai <astralcai@gmail.com> * Add barrier to ops list * apply suggestion from code review Co-authored-by: Astral Cai <astralcai@gmail.com> * revert adding barrier for now * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * Small performance change * Revert * pin qiskit for now * Pin qiskit-ibm-runtime * Move function in init to update_kwargs * Delete print statement lol * fix for shot information * name property change * fixes * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Matthew Silverman <matthews@xanadu.ai> * Edited docstrings * Function signature * Shots are now with context manager * black reformat * black reformat * test changes * tests * fixed conflicts * Change mp_to_pauli to accept mps that affect more than 1 qubit * Revert to fix CI tests * black reformat * Update setup.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update requirements-ci.txt Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/converter.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/converter.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * tests * Fixed a test * maybe this works? * placeholder settings * fixed CI tests, bandaid fix * gitignore for 1.0 qiskit versioning * delete venv1 * tests, shots information, shot vector case, ibm_run_time compatibility * woops * docstring for operation_to_qiskit * black * appease codecov * mock test * Deleted comment * remove some notebooks * Update .gitignore Co-authored-by: Astral Cai <astral.cai@xanadu.ai> * tests and docstrings --------- Co-authored-by: Matthew Silverman <matthews@xanadu.ai> Co-authored-by: Astral Cai <astralcai@gmail.com> Co-authored-by: Austin Huang <65315367+austingmhuang@users.noreply.github.com> Co-authored-by: Austin Huang <gengminghuang@gmail.com> Co-authored-by: Astral Cai <astral.cai@xanadu.ai>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #513 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 7 8 +1
Lines 554 818 +264
==========================================
+ Hits 554 818 +264 ☔ View full report in Codecov by Sentry. |
Adds the compile_backend kwarg to the Qiskit device. It is useful when you want to do circuit transpilation when using the old Qiskit API (e.g. use_primitives = False). * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> --------- Co-authored-by: Austin Huang <gengminghuang@gmail.com> Co-authored-by: Austin Huang <65315367+austingmhuang@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* add name to MockedBackend * support both V1 and V2 syntax for retrieving backend name and num_qubits * test relevant methods with both V1 and V2 MockBackends * tests updated for old device api as per other PR * tests * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Apply suggestions from code review Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * merge conf --------- Co-authored-by: Austin Huang <65315367+austingmhuang@users.noreply.github.com> Co-authored-by: Austin Huang <gengminghuang@gmail.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
This reverts commit 4f21e7d.
This reverts commit 17c3e67.
This reverts commit a1ff606.
* Removing ibmq devices from the docs and relevant files * missed something in docs * Changelog updates * Update CHANGELOG.md Co-authored-by: Utkarsh <utkarshazad98@gmail.com> --------- Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * deleting unused tests * line change * pylint * yay * docstring * refactoring of estimator and sampler * process_estimator_job tests * comment for clarity --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * We delete the Options Handling class because there are no more Options() to handle. Additionally, process_kwargs is left as a stub as a temporary measure while we figure out what to do with kwargs * changed warnings due to difference in UI for setting shots between Qiskit and Pennylane. Tracking shots has also been updated due to estimatorV2 syntax change * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * due to the fact that shots are not tracked in the estimator's metadata anymore, variances are calculated a different way using the precision instead * black * lint * docstring changes * backend options? * deleting unused tests * line change * [skip ci] changed test to be more readable * New tests for options functionality and edge case * pylint * We make sure that transpilation options are not passed to the primitive and that no errors are raised as a result * Due to changing the signature of get_transpile_args(), we need to fix one of the tests * warning message for default_shots was unclear. changed to be more clear * add more comments * yay * docstring * Testing to ensure that options and kwargs combine properly * edit tests for pylint * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * edit test regex matching due to changes earlier * refactoring of estimator and sampler * generate samples tested * process_estimator_job tests * comment for clarity * pylint * pylint * [skip ci] minor formatting * Fix unintended additonal dimensionality and added test for res != 1 testcase * fix to transpiles * comments to explain some stuff * merge conflicts * docstring * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * clean up * refactor * pylint * formatting of docstring * revert to tuple(res) * [skip ci] fix to dimensions of sampler * docstrings * some docstrings changes * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * black * linter --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * We delete the Options Handling class because there are no more Options() to handle. Additionally, process_kwargs is left as a stub as a temporary measure while we figure out what to do with kwargs * changed warnings due to difference in UI for setting shots between Qiskit and Pennylane. Tracking shots has also been updated due to estimatorV2 syntax change * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * due to the fact that shots are not tracked in the estimator's metadata anymore, variances are calculated a different way using the precision instead * black * lint * docstring changes * backend options? * deleting unused tests * line change * [skip ci] changed test to be more readable * New tests for options functionality and edge case * pylint * We make sure that transpilation options are not passed to the primitive and that no errors are raised as a result * Due to changing the signature of get_transpile_args(), we need to fix one of the tests * warning message for default_shots was unclear. changed to be more clear * add more comments * yay * docstring * Testing to ensure that options and kwargs combine properly * edit tests for pylint * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * edit test regex matching due to changes earlier * refactoring of estimator and sampler * generate samples tested * process_estimator_job tests * comment for clarity * pylint * pylint * [skip ci] minor formatting * [skip ci] docstrings for converter functions * Fix unintended additonal dimensionality and added test for res != 1 testcase * fix to transpiles * comments to explain some stuff * merge conflicts * [skip ci] examples of QiskitDevice2 added to docstring * docstring changes * docstring * more docstrings * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * clean up * refactor * pylint * formatting of docstring * docstrings * docstrings * formatting * changes * some examples * Update pennylane_qiskit/converter.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * examples and links * change inheritance for remote device * build docs * better docs * fix docs a little * remove redundant docstrings * revert * import fix * build sphinx * revert change to QiskitDev2 * Update pennylane_qiskit/remote.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * reformat to within 100 chars --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * We delete the Options Handling class because there are no more Options() to handle. Additionally, process_kwargs is left as a stub as a temporary measure while we figure out what to do with kwargs * changed warnings due to difference in UI for setting shots between Qiskit and Pennylane. Tracking shots has also been updated due to estimatorV2 syntax change * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * due to the fact that shots are not tracked in the estimator's metadata anymore, variances are calculated a different way using the precision instead * black * lint * docstring changes * backend options? * deleting unused tests * line change * [skip ci] changed test to be more readable * New tests for options functionality and edge case * pylint * We make sure that transpilation options are not passed to the primitive and that no errors are raised as a result * Due to changing the signature of get_transpile_args(), we need to fix one of the tests * warning message for default_shots was unclear. changed to be more clear * add more comments * yay * docstring * Testing to ensure that options and kwargs combine properly * edit tests for pylint * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * edit test regex matching due to changes earlier * refactoring of estimator and sampler * generate samples tested * process_estimator_job tests * comment for clarity * pylint * pylint * [skip ci] minor formatting * Fix unintended additonal dimensionality and added test for res != 1 testcase * fix to transpiles * comments to explain some stuff * merge conflicts * docstring * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * clean up * refactor * pylint * formatting of docstring * revert to tuple(res) * [skip ci] fix to dimensions of sampler * docstrings * some docstrings changes * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * black * [skip ci] import split_non_commuting * diagonalize tests for Hadamard * changed stopping condition to reflect reality of what's supported and added tests and changed tests to fit new stopping condition * [skip ci] added comment about qml.var not providing matching answers * some tests * [skip ci] linter * interesting changes * linter * split non commuting test cases * sprod * sampler tested as well * linter * black * docstrings and comments * docstrings and comments black * comment regarding magic number * todo * add np * more concise way of testing * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * fix black * diagonalize for edge case * linter * pylint * clean up * fix docstring --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* functionality implemented * minor adjustments to tests * [skip-ci] Qiskit Sessions now test many warnings since you can set session options on device initialization and when using the session manager. We use the options in the device for things that are generally not updateable for the device e.g. backends; we use session options for everything else * [skip-ci] tests that we are passing on kwargs to Qiskit's session constructor, and verifying that an error is raised due to such behavior * [skip ci] pylint * small comments * Generalization of the session options * delicious docstrings * [skip ci] tests and clarification * [skip ci] better session options * comments for clarity * changes to the tests & the warning message * docstrings * type error changes * docstrings * add qiskit_session to docs * a little more consistency in comments * for docs * fix ci * black * revert * revert * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Qiskit Session update * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstring update --------- Co-authored-by: Utkarsh <utkarshazad98@gmail.com> Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
* removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * We delete the Options Handling class because there are no more Options() to handle. Additionally, process_kwargs is left as a stub as a temporary measure while we figure out what to do with kwargs * changed warnings due to difference in UI for setting shots between Qiskit and Pennylane. Tracking shots has also been updated due to estimatorV2 syntax change * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * due to the fact that shots are not tracked in the estimator's metadata anymore, variances are calculated a different way using the precision instead * black * lint * docstring changes * backend options? * deleting unused tests * line change * [skip ci] changed test to be more readable * New tests for options functionality and edge case * pylint * We make sure that transpilation options are not passed to the primitive and that no errors are raised as a result * Due to changing the signature of get_transpile_args(), we need to fix one of the tests * warning message for default_shots was unclear. changed to be more clear * add more comments * yay * docstring * Testing to ensure that options and kwargs combine properly * edit tests for pylint * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * edit test regex matching due to changes earlier * refactoring of estimator and sampler * generate samples tested * process_estimator_job tests * comment for clarity * pylint * pylint * [skip ci] minor formatting * Fix unintended additonal dimensionality and added test for res != 1 testcase * fix to transpiles * comments to explain some stuff * merge conflicts * docstring * [skip ci] some tests with fakehardware * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * clean up * refactor * pylint * formatting of docstring * revert to tuple(res) * [skip ci] fix to dimensions of sampler * docstrings * some docstrings changes * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * black * [skip ci] import split_non_commuting * diagonalize tests for Hadamard * changed stopping condition to reflect reality of what's supported and added tests and changed tests to fit new stopping condition * [skip ci] added comment about qml.var not providing matching answers * some tests * [skip ci] linter * interesting changes * linter * split non commuting test cases * sprod * sampler tested as well * linter * black * docstrings and comments * docstrings and comments black * comment regarding magic number * todo * add np * more concise way of testing * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * fix black * diagonalize for edge case * linter * pylint * clean up * fix docstring * flaky * flaky and fake * rename bakcend to aer_backend --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* import changes * Added TODOs for tests * changes * this should pass * pylint * circular import * observables update * remerge * import from qiskitdevice2 * Delete unnecessary tests and mocks * black/pylint * Add tests back in for codecov. * refactor tests * delete legacy device only functionality * change around imports * add assertion * fix * fix * fix setup * clean up * fix reqs.txt * fix * changelog changed * maybe this works? * a docstring? * a docstring? * reverts * does this break * revert * fix * fix * attempt a doc fix * Update tests/test_integration.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * some docstrings --------- Co-authored-by: obliviateandsurrender <utkarshazad98@gmail.com>
* removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * We delete the Options Handling class because there are no more Options() to handle. Additionally, process_kwargs is left as a stub as a temporary measure while we figure out what to do with kwargs * changed warnings due to difference in UI for setting shots between Qiskit and Pennylane. Tracking shots has also been updated due to estimatorV2 syntax change * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * due to the fact that shots are not tracked in the estimator's metadata anymore, variances are calculated a different way using the precision instead * black * lint * docstring changes * backend options? * deleting unused tests * line change * [skip ci] changed test to be more readable * New tests for options functionality and edge case * pylint * We make sure that transpilation options are not passed to the primitive and that no errors are raised as a result * Due to changing the signature of get_transpile_args(), we need to fix one of the tests * warning message for default_shots was unclear. changed to be more clear * add more comments * yay * docstring * Testing to ensure that options and kwargs combine properly * edit tests for pylint * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * edit test regex matching due to changes earlier * refactoring of estimator and sampler * generate samples tested * process_estimator_job tests * comment for clarity * pylint * pylint * [skip ci] minor formatting * [skip ci] docstrings for converter functions * Fix unintended additonal dimensionality and added test for res != 1 testcase * fix to transpiles * comments to explain some stuff * merge conflicts * [skip ci] examples of QiskitDevice2 added to docstring * docstring changes * docstring * more docstrings * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * clean up * refactor * pylint * formatting of docstring * docstrings * docstrings * formatting * changes * some examples * Update pennylane_qiskit/converter.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * examples and links * change inheritance for remote device * build docs * better docs * fix docs a little * remove redundant docstrings * revert * import fix * prelim changes to aer * changes to build sphinx * revert change * delete section on ibmq devices * add examples for remote.rst * plugin updates to the remote device and basicsim * doc fixes for sphinx build * docs * small fi * fix weird spacing * [skip ci] small fix * [skip ci] error in codeblock * delete extra the * [skip ci] changelog * merge confs * formatting * black * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * address comments * undo * readme * plugin page fixes * fixed documentation * fix * Update doc/index.rst Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * doc changes * typo * weird change didn't go through * change to doc * small change * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update doc/devices/remote.rst Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * change name of iqp token * small fix --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
* is this all? * doc strings * tests for tracker * trackers * trackers * fixed tests * removed legacy ci * Delete .github/workflows/tests.yml * Deleted use_primitives from tests * remove use_primitive kwarg and things that depend on it * fix tests and split_exec * fixed test * pylint * change to v2 prims, del Options * del Options * temp changes to options * naming and 0.46 test * rename * update qiskit device * dep warnings * pylint * changes to tests * deleted options for now * small changes * access sampler results * Sampler tests and functionality * estimator multi measurement works * estimator now gives variances * comments * removed backend.run() and _execute_runtime * remove additional stuff * linter * docstring changes * skip additional test * [skip ci] format is correct, checks probs as well * [skip ci] docstring * docstrings * We delete the Options Handling class because there are no more Options() to handle. Additionally, process_kwargs is left as a stub as a temporary measure while we figure out what to do with kwargs * changed warnings due to difference in UI for setting shots between Qiskit and Pennylane. Tracking shots has also been updated due to estimatorV2 syntax change * un did confusing change that didnt do anything * rerun ci * Syntax changes due to version change * Delete for codecov * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * docstrings * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * finishing touches * comments * [skip ci] formatting * [skip ci] refactor * due to the fact that shots are not tracked in the estimator's metadata anymore, variances are calculated a different way using the precision instead * black * lint * docstring changes * backend options? * deleting unused tests * line change * [skip ci] changed test to be more readable * New tests for options functionality and edge case * pylint * We make sure that transpilation options are not passed to the primitive and that no errors are raised as a result * Due to changing the signature of get_transpile_args(), we need to fix one of the tests * warning message for default_shots was unclear. changed to be more clear * add more comments * yay * docstring * Testing to ensure that options and kwargs combine properly * edit tests for pylint * woops * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * Update pennylane_qiskit/qiskit_device2.py Co-authored-by: Utkarsh <utkarshazad98@gmail.com> * edit test regex matching due to changes earlier * print out some stuff for tests * refactoring of estimator and sampler * generate samples tested * process_estimator_job tests * comment for clarity * pylint * pylint * [skip ci] temp * [skip ci] There is a bug due to the post processing of results that is causing some of the assertion statements to fail. We can ignore these assertions for now and address how to rework reorder_fn to avoid this bug * [skip ci] * [skip ci] minor formatting * Fix unintended additonal dimensionality and added test for res != 1 testcase * fix to transpiles * comments to explain some stuff * merge conflicts * pylint * formatting * tracker comments * black * comments about the tracker * bet * fix to imports * black * temp * baller implementation * increase shot number to reduce error * edit function * black * better tests * refactor * black * delete print statement * refactor * Delete unneeded import * fix assertion * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * Update tests/test_base_device.py Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> * new tests * removed simulations keyword * some xfails pending discussion --------- Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com> Co-authored-by: Utkarsh <utkarshazad98@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wondering if the change-log needs an update before merging, but otherwise looks ready to go!
Co-authored-by: lillian542 <38584660+lillian542@users.noreply.github.com>
This is a work in progress. This pull request aims to create a new Qiskit device that uses the new device API in Pennylane. The goal is to be compatible with Qiskit 1.0 and backwards compatible with Qiskit 0.45