squlearn 0.8.1__tar.gz → 0.8.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. {squlearn-0.8.1 → squlearn-0.8.2}/PKG-INFO +5 -4
  2. {squlearn-0.8.1 → squlearn-0.8.2}/docs/modules/classes.rst +19 -19
  3. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/executor.rst +8 -8
  4. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/kernel_methods.rst +2 -2
  5. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/quantum_neural_networks.rst +8 -6
  6. {squlearn-0.8.1 → squlearn-0.8.2}/examples/encoding_circuits/various_encoding_circuit.ipynb +1 -1
  7. {squlearn-0.8.1 → squlearn-0.8.2}/examples/executor/example_executor_qiskit.ipynb +3 -3
  8. {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/example_projected_kernel.ipynb +3 -3
  9. {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/example_regularization_mitigation.ipynb +1 -1
  10. {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/qgpc_workflow.ipynb +3 -3
  11. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/example_adam.ipynb +4 -6
  12. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/ode_example.ipynb +2 -1
  13. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/kernel_digit_classification.ipynb +6 -6
  14. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/kernel_grid_search.ipynb +13 -13
  15. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/kernel_regression.ipynb +2 -2
  16. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/qnn_ode_solver.ipynb +2 -1
  17. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/quantum_bayesian_optimization.ipynb +4 -4
  18. {squlearn-0.8.1 → squlearn-0.8.2}/pyproject.toml +2 -2
  19. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/__init__.py +1 -1
  20. squlearn-0.8.2/src/squlearn/kernel/__init__.py +18 -0
  21. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/kernel_loss_base.py +1 -1
  22. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/negative_log_likelihood.py +2 -2
  23. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/target_alignment.py +1 -1
  24. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/fidelity_kernel.py +2 -2
  25. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/fidelity_kernel_pennylane.py +1 -1
  26. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/kernel_matrix_base.py +1 -1
  27. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/projected_quantum_kernel.py +5 -5
  28. {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qgpc.py +7 -6
  29. {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qgpr.py +30 -17
  30. {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qkrr.py +20 -10
  31. {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qsvc.py +6 -4
  32. {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qsvr.py +6 -4
  33. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/optimizers_wrapper.py +1 -1
  34. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/__init__.py +3 -7
  35. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/base_qnn.py +15 -4
  36. squlearn-0.8.2/src/squlearn/qnn/loss/__init__.py +15 -0
  37. squlearn-0.8.2/src/squlearn/qnn/loss/ode_loss.py +607 -0
  38. squlearn-0.8.2/src/squlearn/qnn/loss/parameter_regularization_loss.py +189 -0
  39. squlearn-0.8.2/src/squlearn/qnn/loss/qnn_loss_base.py +363 -0
  40. squlearn-0.8.2/src/squlearn/qnn/loss/squared_loss.py +144 -0
  41. squlearn-0.8.2/src/squlearn/qnn/loss/variance_loss.py +116 -0
  42. squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn/__init__.py +3 -0
  43. {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn.py +10 -8
  44. {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn_base.py +3 -3
  45. {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn_pennylane.py +7 -7
  46. {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn_qiskit.py +8 -8
  47. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/qnnc.py +17 -5
  48. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/qnnr.py +19 -6
  49. squlearn-0.8.2/src/squlearn/qnn/util/__init__.py +5 -0
  50. {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/util}/barren_plateau_analysis.py +2 -3
  51. {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/util}/training.py +12 -10
  52. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/base_qrc.py +16 -3
  53. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/executor.py +36 -89
  54. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/optree.py +3 -3
  55. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/optree_evaluate.py +4 -4
  56. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/matrix/test_projected_quantum_kernel.py +1 -1
  57. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qgpc.py +1 -1
  58. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qgpr.py +1 -1
  59. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qkrr.py +1 -1
  60. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qsvc.py +1 -1
  61. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qsvr.py +1 -1
  62. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_training.py +1 -1
  63. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qrc/test_base_qrc.py +1 -1
  64. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qrc/test_qrc_classifier.py +1 -1
  65. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qrc/test_qrc_regressor.py +1 -1
  66. {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/optree/test_optree_evaluate.py +1 -1
  67. squlearn-0.8.1/src/squlearn/kernel/__init__.py +0 -17
  68. squlearn-0.8.1/src/squlearn/kernel/ml/__init__.py +0 -8
  69. squlearn-0.8.1/src/squlearn/qnn/loss.py +0 -1389
  70. {squlearn-0.8.1 → squlearn-0.8.2}/.github/CODE_OF_CONDUCT.md +0 -0
  71. {squlearn-0.8.1 → squlearn-0.8.2}/.github/CONTRIBUTING.md +0 -0
  72. {squlearn-0.8.1 → squlearn-0.8.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  73. {squlearn-0.8.1 → squlearn-0.8.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  74. {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/doc_checks.yml +0 -0
  75. {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/format.yml +0 -0
  76. {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/publish.yml +0 -0
  77. {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/publish_docs.yml +0 -0
  78. {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/tests.yaml +0 -0
  79. {squlearn-0.8.1 → squlearn-0.8.2}/.gitignore +0 -0
  80. {squlearn-0.8.1 → squlearn-0.8.2}/CITATION.cff +0 -0
  81. {squlearn-0.8.1 → squlearn-0.8.2}/LICENSE.txt +0 -0
  82. {squlearn-0.8.1 → squlearn-0.8.2}/README.md +0 -0
  83. {squlearn-0.8.1 → squlearn-0.8.2}/docs/Makefile +0 -0
  84. {squlearn-0.8.1 → squlearn-0.8.2}/docs/README.md +0 -0
  85. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/css/custom.css +0 -0
  86. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/favicon.png +0 -0
  87. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/logo.png +0 -0
  88. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qkm/QKM_scheme_pic.jpg +0 -0
  89. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qnn/qnn.svg +0 -0
  90. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qrc/QRC_user_guide.png +0 -0
  91. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qrc/qrc_classification_transparent.png +0 -0
  92. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qrc/qrc_regression_transparent.png +0 -0
  93. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/schematic.png +0 -0
  94. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/util/executor.png +0 -0
  95. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_templates/class.rst +0 -0
  96. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_templates/class_with_call.rst +0 -0
  97. {squlearn-0.8.1 → squlearn-0.8.2}/docs/_templates/function.rst +0 -0
  98. {squlearn-0.8.1 → squlearn-0.8.2}/docs/conf.py +0 -0
  99. {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_kernel_digit_classification.nblink +0 -0
  100. {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_kernel_grid_search.nblink +0 -0
  101. {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_qnn_backend_mitigation.nblink +0 -0
  102. {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_qnn_ode_solver.nblink +0 -0
  103. {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_quantum_bayesian_optimization.nblink +0 -0
  104. {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/examples_index.rst +0 -0
  105. {squlearn-0.8.1 → squlearn-0.8.2}/docs/index.rst +0 -0
  106. {squlearn-0.8.1 → squlearn-0.8.2}/docs/install/install.rst +0 -0
  107. {squlearn-0.8.1 → squlearn-0.8.2}/docs/make.bat +0 -0
  108. {squlearn-0.8.1 → squlearn-0.8.2}/docs/qiskit_settings.conf +0 -0
  109. {squlearn-0.8.1 → squlearn-0.8.2}/docs/spelling_wordlist.txt +0 -0
  110. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/encoding_circuits.rst +0 -0
  111. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/observables.rst +0 -0
  112. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/quantum_reservoir_computing.rst +0 -0
  113. {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/user_guide_index.rst +0 -0
  114. {squlearn-0.8.1 → squlearn-0.8.2}/examples/encoding_circuits/layered_encoding_circuit.ipynb +0 -0
  115. {squlearn-0.8.1 → squlearn-0.8.2}/examples/encoding_circuits/pruning_example.ipynb +0 -0
  116. {squlearn-0.8.1 → squlearn-0.8.2}/examples/integration/mlflow.ipynb +0 -0
  117. {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/example_fidelity_kernel.ipynb +0 -0
  118. {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/qgpr_optimization_workflow.ipynb +0 -0
  119. {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/qgpr_workflow.ipynb +0 -0
  120. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/classification_example.ipynb +0 -0
  121. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/example_minibatch.ipynb +0 -0
  122. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/example_qcnn_encoding_circuit.ipynb +0 -0
  123. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/regression_example.ipynb +0 -0
  124. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/regression_with_variance.ipynb +0 -0
  125. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qrc/qrc_classification.ipynb +0 -0
  126. {squlearn-0.8.1 → squlearn-0.8.2}/examples/qrc/qrc_regression.ipynb +0 -0
  127. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/QNN_ode_workflow.png +0 -0
  128. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/encoding_circuit.png +0 -0
  129. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/pipeline.png +0 -0
  130. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/projected_quantum_kernel.png +0 -0
  131. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/quantum_bo.png +0 -0
  132. {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/qnn_backend_mitigation.ipynb +0 -0
  133. {squlearn-0.8.1 → squlearn-0.8.2}/install_lowest_dependencies.py +0 -0
  134. {squlearn-0.8.1 → squlearn-0.8.2}/output.png +0 -0
  135. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/__init__.py +0 -0
  136. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/__init__.py +0 -0
  137. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/chebyshev_pqc.py +0 -0
  138. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/chebyshev_rx.py +0 -0
  139. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/chebyshev_tower.py +0 -0
  140. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/highdim_encoding_circuit.py +0 -0
  141. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/hubregtsen_encoding_circuit.py +0 -0
  142. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/kyriienko_nonlinear_encoding_circuit.py +0 -0
  143. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/multi_control_encoding_circuit.py +0 -0
  144. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/param_z_feature_map.py +0 -0
  145. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/qcnn_encoding_circuit.py +0 -0
  146. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/qiskit_encoding_circuit.py +0 -0
  147. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/random_encoding_circuit.py +0 -0
  148. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/random_layered_encoding_circuit.py +0 -0
  149. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/yz_cx_encoding_circuit.py +0 -0
  150. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/encoding_circuit_base.py +0 -0
  151. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/encoding_circuit_derivatives.py +0 -0
  152. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/layered_encoding_circuit.py +0 -0
  153. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/pruned_encoding_circuit.py +0 -0
  154. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/transpiled_encoding_circuit.py +0 -0
  155. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/__init__.py +0 -0
  156. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/__init__.py +0 -0
  157. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/kernel_optimizer.py +0 -0
  158. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/kernel_util.py +0 -0
  159. {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/regularization.py +0 -0
  160. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/__init__.py +0 -0
  161. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_base.py +0 -0
  162. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_derivatives.py +0 -0
  163. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/__init__.py +0 -0
  164. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/custom_observable.py +0 -0
  165. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/ising_hamiltonian.py +0 -0
  166. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/single_pauli.py +0 -0
  167. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/single_probability.py +0 -0
  168. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/summed_paulis.py +0 -0
  169. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/summed_probabilities.py +0 -0
  170. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/__init__.py +0 -0
  171. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/adam.py +0 -0
  172. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/approximated_gradients.py +0 -0
  173. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/optimizer_base.py +0 -0
  174. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/sglbo.py +0 -0
  175. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/__init__.py +0 -0
  176. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/qrc_classifier.py +0 -0
  177. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/qrc_regressor.py +0 -0
  178. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/__init__.py +0 -0
  179. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/data_preprocessing.py +0 -0
  180. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/decompose_to_std.py +0 -0
  181. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/__init__.py +0 -0
  182. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/automatic_backend_selection.py +0 -0
  183. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/hqaa/__init__.py +0 -0
  184. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/hqaa/heuristic.py +0 -0
  185. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/hqaa/parser.py +0 -0
  186. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/parallel_estimator.py +0 -0
  187. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/parallel_sampler.py +0 -0
  188. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/__init__.py +0 -0
  189. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/optree_derivative.py +0 -0
  190. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/pennylane/__init__.py +0 -0
  191. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/pennylane/pennylane_circuit.py +0 -0
  192. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/pennylane/pennylane_gates.py +0 -0
  193. {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/qfi.py +0 -0
  194. {squlearn-0.8.1 → squlearn-0.8.2}/tests/encoding_circuit/test_layered_encoding_circuit.py +0 -0
  195. {squlearn-0.8.1 → squlearn-0.8.2}/tests/encoding_circuit/test_random_encoding_circuits.py +0 -0
  196. {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/matrix/test_kernel_optimizer.py +0 -0
  197. {squlearn-0.8.1 → squlearn-0.8.2}/tests/optimizers/test_sglbo.py +0 -0
  198. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_base_qnn.py +0 -0
  199. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_qnnc.py +0 -0
  200. {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_qnnr.py +0 -0
  201. {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/execution/test_automatic_backend_selection.py +0 -0
  202. {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/execution/test_parallel_primitives.py +0 -0
  203. {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/optree/test_optree_derivative.py +0 -0
  204. {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/test_executor.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: squlearn
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: A library for quantum machine learning following the scikit-learn standard.
5
5
  Keywords: quantum,machine learning,qml
6
6
  Author-email: David Kreplin <david.kreplin@ipa.fraunhofer.de>, Moritz Willmann <moritz.willmann@ipa.fraunhofer.de>, Jan Schnabel <jan.schnabel@ipa.fraunhofer.de>, Frederic Rapp <frederic.rapp@ipa.fraunhofer.de>, Manuel Hagelüken <manuel.hagelueken@ipa.fraunhofer.de>, Marco Roth <marco.roth@ipa.fraunhofer.de>
@@ -10,19 +10,20 @@ Description-Content-Type: text/markdown
10
10
  Classifier: License :: OSI Approved :: Apache Software License
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3
13
+ License-File: LICENSE.txt
13
14
  Requires-Dist: bayesian-optimization>=1.4.3,<2
14
15
  Requires-Dist: dill>=0.3.4
15
16
  Requires-Dist: mapomatic>=0.10.0
16
17
  Requires-Dist: networkx>=3.0
17
18
  Requires-Dist: numpy>=1.20
18
19
  Requires-Dist: pennylane>=0.34.0
19
- Requires-Dist: qiskit>=0.45.0
20
+ Requires-Dist: qiskit>=0.45.0,<2
20
21
  Requires-Dist: qiskit-aer>=0.12.0
21
22
  Requires-Dist: qiskit-algorithms>=0.3.0
22
23
  Requires-Dist: qiskit-ibm-runtime>=0.18.0
23
24
  Requires-Dist: qiskit-machine-learning>=0.7.0
24
25
  Requires-Dist: scipy>=1.8.0
25
- Requires-Dist: scikit-learn>=1.2.0,<1.4.2
26
+ Requires-Dist: scikit-learn>=1.2.0
26
27
  Requires-Dist: tqdm>=4.1.0
27
28
  Requires-Dist: black ; extra == "dev"
28
29
  Requires-Dist: flit ; extra == "dev"
@@ -16,9 +16,9 @@ QML Regressors
16
16
  :toctree: generated/
17
17
  :template: class.rst
18
18
 
19
- kernel.ml.QSVR
20
- kernel.ml.QKRR
21
- kernel.ml.QGPR
19
+ kernel.QSVR
20
+ kernel.QKRR
21
+ kernel.QGPR
22
22
  qnn.QNNRegressor
23
23
  qrc.QRCRegressor
24
24
 
@@ -33,8 +33,8 @@ QML Classifiers
33
33
  :toctree: generated/
34
34
  :template: class.rst
35
35
 
36
- kernel.ml.QSVC
37
- kernel.ml.QGPC
36
+ kernel.QSVC
37
+ kernel.QGPC
38
38
  qnn.QNNClassifier
39
39
  qrc.QRCClassifier
40
40
 
@@ -155,7 +155,7 @@ Core
155
155
  Quantum Kernel Core
156
156
  ------------------------------------
157
157
 
158
- .. automodule:: squlearn.kernel.matrix
158
+ .. automodule:: squlearn.kernel.lowlevel_kernel
159
159
  :no-members:
160
160
  :no-inherited-members:
161
161
 
@@ -166,8 +166,8 @@ Quantum Kernel Core
166
166
  :toctree: generated/
167
167
  :template: class.rst
168
168
 
169
- kernel.matrix.FidelityKernel
170
- kernel.matrix.ProjectedQuantumKernel
169
+ kernel.lowlevel_kernel.FidelityKernel
170
+ kernel.lowlevel_kernel.ProjectedQuantumKernel
171
171
 
172
172
  .. automodule:: squlearn.kernel.loss
173
173
  :no-members:
@@ -198,10 +198,10 @@ QNN Core
198
198
  :template: class.rst
199
199
 
200
200
  qnn.lowlevel_qnn.LowLevelQNN
201
- qnn.lowlevel_qnn_qiskit.LowLevelQNNQiskit
202
- qnn.lowlevel_qnn_qiskit.Expec
203
- qnn.lowlevel_qnn_pennylane.LowLevelQNNPennyLane
204
- qnn.lowlevel_qnn_base.LowLevelQNNBase
201
+ qnn.lowlevel_qnn.lowlevel_qnn_qiskit.LowLevelQNNQiskit
202
+ qnn.lowlevel_qnn.lowlevel_qnn_qiskit.Expec
203
+ qnn.lowlevel_qnn.lowlevel_qnn_pennylane.LowLevelQNNPennyLane
204
+ qnn.lowlevel_qnn.lowlevel_qnn_base.LowLevelQNNBase
205
205
  qnn.loss.SquaredLoss
206
206
  qnn.loss.VarianceLoss
207
207
  qnn.loss.ODELoss
@@ -214,11 +214,11 @@ Tools for training QNNs
214
214
  :toctree: generated/
215
215
  :template: class.rst
216
216
 
217
- qnn.get_variance_fac
218
- qnn.get_lr_decay
219
- qnn.ShotsFromRSTD
220
- qnn.training.train
221
- qnn.training.train_mini_batch
217
+ qnn.util.get_variance_fac
218
+ qnn.util.get_lr_decay
219
+ qnn.util.ShotsFromRSTD
220
+ qnn.util.training.train
221
+ qnn.util.training.train_mini_batch
222
222
 
223
223
 
224
224
  Implemented optimizers
@@ -286,11 +286,11 @@ Base Classes
286
286
 
287
287
  observables.observable_base.ObservableBase
288
288
  encoding_circuit.encoding_circuit_base.EncodingCircuitBase
289
- kernel.matrix.kernel_matrix_base.KernelMatrixBase
289
+ kernel.lowlevel_kernel.kernel_matrix_base.KernelMatrixBase
290
290
  kernel.loss.kernel_loss_base.KernelLossBase
291
291
  optimizers.optimizer_base.OptimizerBase
292
292
  qnn.base_qnn.BaseQNN
293
- qnn.loss.LossBase
293
+ qnn.loss.qnn_loss_base.QNNLossBase
294
294
  qrc.base_qrc.BaseQRC
295
295
 
296
296
 
@@ -143,7 +143,7 @@ execution environment:
143
143
  executor = Executor(dev, shots = 1234)
144
144
 
145
145
 
146
- - A :class:`Backend <qiskit.providers.Backend>` from :class:`QiskitRuntimeService <qiskit_ibm_runtime.QiskitRuntimeService>`'s :meth:`get_backend <qiskit_ibm_runtime.QiskitRuntimeService.get_backend>` method, which utilizes the execution of quantum jobs on IBM Quantum.
146
+ - A :class:`Backend <qiskit.providers.Backend>` from :class:`QiskitRuntimeService <qiskit_ibm_runtime.QiskitRuntimeService>`'s :meth:`backend <qiskit_ibm_runtime.QiskitRuntimeservice.backend>` method, which utilizes the execution of quantum jobs on IBM Quantum.
147
147
  Sessions and Primitives are automatically created and managed by the :class:`Executor <squlearn.Executor>` class (remember to close the session at the end of your code when running on IBM Quantum).
148
148
 
149
149
  .. code-block:: python
@@ -152,7 +152,7 @@ execution environment:
152
152
  from qiskit_ibm_runtime import QiskitRuntimeService
153
153
 
154
154
  service = QiskitRuntimeService(channel="ibm_quantum", token="INSERT_YOUR_TOKEN_HERE")
155
- executor = Executor(service.get_backend('ibm_brisbane'))
155
+ executor = Executor(service.backend('ibm_brisbane'))
156
156
  ...
157
157
  # Close the session at the end of your code
158
158
  executor.close_session()
@@ -179,7 +179,7 @@ execution environment:
179
179
  from qiskit_ibm_runtime import QiskitRuntimeService
180
180
 
181
181
  service = QiskitRuntimeService(channel="ibm_quantum", token="INSERT_YOUR_TOKEN_HERE")
182
- session = service.create_session(backend = service.get_backend('ibm_brisbane'))
182
+ session = service.create_session(backend = service.backend('ibm_brisbane'))
183
183
  executor = Executor(session)
184
184
  ...
185
185
  executor.close_session()
@@ -195,7 +195,7 @@ execution environment:
195
195
 
196
196
  service = QiskitRuntimeService(channel="ibm_quantum", token="INSERT_YOUR_TOKEN_HERE")
197
197
 
198
- session = service.create_session(backend = service.get_backend('ibm_brisbane'))
198
+ session = service.create_session(backend = service.backend('ibm_brisbane'))
199
199
  estimator = Estimator(session=session)
200
200
  estimator.options.resilience.zne_mitigation = True
201
201
  estimator.options.resilience.zne.noise_factors = (1, 3, 5)
@@ -233,7 +233,7 @@ backend from the :class:`QiskitRuntimeService <qiskit_ibm_runtime.QiskitRuntimeS
233
233
  "zne":{"noise_factors" : (1, 3, 5),"extrapolator":"linear" }}
234
234
  }
235
235
 
236
- executor = Executor(service.get_backend('ibm_brisbane'), # Specify the backend
236
+ executor = Executor(service.backend('ibm_brisbane'), # Specify the backend
237
237
  cache_dir='cache', # Set cache folder to "cache"
238
238
  caching=True, # Enable caching default for remote executions
239
239
  log_file="executor.log", # Set-up logging file
@@ -296,7 +296,7 @@ They folow the same dictionary datastructure than the original V2 Primtives.
296
296
  "zne":{"noise_factors" : (1, 3, 5),"extrapolator":"linear" }}
297
297
  }
298
298
 
299
- executor = Executor(service.get_backend("ibm_brisbane"),options_estimator=options)
299
+ executor = Executor(service.backend("ibm_brisbane"),options_estimator=options)
300
300
 
301
301
  Alternatively, the options can be adjusted by the attributes :meth:`estimator_options` and :meth:`sampler_options` similar
302
302
  to the option interface of the V2 Primtives:
@@ -307,7 +307,7 @@ to the option interface of the V2 Primtives:
307
307
  from qiskit_ibm_runtime import QiskitRuntimeService
308
308
 
309
309
  service = QiskitRuntimeService(channel="ibm_quantum", token="INSERT_YOUR_TOKEN_HERE")
310
- executor = Executor(service.get_backend("ibm_brisbane"))
310
+ executor = Executor(service.backend("ibm_brisbane"))
311
311
  executor.sampler_options.dynamical_decoupling.enable = True
312
312
  executor.sampler_options.dynamical_decoupling.sequence_type = "XpXm"
313
313
 
@@ -321,7 +321,7 @@ Options can be adjusted by the :meth:`set_options` method of the Primitives that
321
321
 
322
322
  service = QiskitRuntimeService(channel="ibm_quantum", token="INSERT_YOUR_TOKEN_HERE")
323
323
 
324
- executor = Executor(service.get_backend("ibm_brisbane"))
324
+ executor = Executor(service.backend("ibm_brisbane"))
325
325
  estimator = executor.get_estimator()
326
326
  estimator.set_options(resilience_level=2)
327
327
 
@@ -66,7 +66,7 @@ given by measurements.
66
66
  These will be also subject to discussion in the sQUlearn context below.
67
67
 
68
68
 
69
- .. currentmodule:: squlearn.kernel.ml
69
+ .. currentmodule:: squlearn.kernel
70
70
 
71
71
  High-Level methods that employ quantum kernels
72
72
  ----------------------------------------------
@@ -132,7 +132,7 @@ kernel matrices using either *thresholding* or *tikhonov* approach as described
132
132
  Regularization is by default switched of but can be set via the :code:`regularization`
133
133
  argument.
134
134
 
135
- .. currentmodule:: squlearn.kernel.matrix
135
+ .. currentmodule:: squlearn.kernel.lowlevel_kernel
136
136
 
137
137
  Fidelity Quantum Kernel (FQK) via :class:`FidelityKernel`
138
138
  #########################################################
@@ -239,13 +239,13 @@ This is possible by providing a :class:`List` or a :class:`Callable` to the lear
239
239
  Then a learning rate is chosen from the list or calculated by the callable at the beginning of
240
240
  each iteration or epoch.
241
241
  A suitable function for generating a callable with an exponential decay of the learning rate is
242
- provided by :meth:`get_lr_decay`. The following example will generate an Adam optimization
242
+ provided by :meth:`util.get_lr_decay`. The following example will generate an Adam optimization
243
243
  with an exponential decay in the learning rate from 0.01 to 0.001 over 100 iterations.
244
244
 
245
245
  .. jupyter-execute::
246
246
 
247
247
  from squlearn.optimizers import Adam
248
- from squlearn.qnn import get_lr_decay
248
+ from squlearn.qnn.util import get_lr_decay
249
249
  adam = Adam({'lr':get_lr_decay(0.01, 0.001, 100)})
250
250
 
251
251
 
@@ -263,11 +263,12 @@ The high-level implementations of QNNs, :class:`QNNRegressor` and :class:`QNNCla
263
263
  can be initialized with a shot controller that takes care to automatically adjust the number of
264
264
  shots. The following example will generate a :class:`QNNRegressor`
265
265
  with a RSTD threshold of 0.1 and a minimum and maximum number of shots of 100 and 10000.
266
- It utilizes the :class:`ShotsFromRSTD <squlearn.qnn.ShotsFromRSTD>` shot controller.
266
+ It utilizes the :class:`ShotsFromRSTD <squlearn.qnn.util.ShotsFromRSTD>` shot controller.
267
267
 
268
268
  .. code-block:: python
269
269
 
270
- from squlearn.qnn import QNNRegressor, ShotsFromRSTD
270
+ from squlearn.qnn import QNNRegressor
271
+ from squlearn.qnn.util import ShotsFromRSTD
271
272
  reg = QNNRegressor(
272
273
  ...
273
274
  shot_controller = ShotsFromRSTD(rstd_bound=0.1, min_shots=100, max_shots=10000),
@@ -407,12 +408,13 @@ stages (see Ref. [1]). This can be achieved by passing a :class:`List` or a :cla
407
408
  to the keyword argument ``variance`` of the :class:`QNNRegressor` (or :class:`QNNClassifier`).
408
409
  The following example will generate a :class:`QNNRegressor` with a variance
409
410
  regularization factor that is adjusted dynamically during the optimization by utilizing the
410
- function :meth:`get_variance_fac`. The set-up features a final regularization factor of 0.005,
411
+ function :meth:`util.get_variance_fac`. The set-up features a final regularization factor of 0.005,
411
412
  a decay factor of 0.08 and a plateau at :math:`\alpha=1` of 20 iterations at the beginning.
412
413
 
413
414
  .. code-block:: python
414
415
 
415
- from squlearn.qnn import QNNRegressor,get_variance_fac
416
+ from squlearn.qnn import QNNRegressor
417
+ from squlearn.qnn.util import get_variance_fac
416
418
  reg = QNNRegressor(
417
419
  ...
418
420
  variance = get_variance_fac(0.005,0.08,20),
@@ -214,7 +214,7 @@
214
214
  "source": [
215
215
  "\"\"\"\n",
216
216
  "This example shows how to wrap a Qiskit QuantumCircuit object into\n",
217
- "a sQUlearn EncodingCircuitBase object. The TwoLocal circuit below can be \n",
217
+ "a sQUlearn EncodingCircuitBase object. The TwoLocal circuit below can be\n",
218
218
  "replaced by any other QuantumCircuit\n",
219
219
  "\"\"\"\n",
220
220
  "\n",
@@ -61,13 +61,13 @@
61
61
  "# from a backend obtained from the Qiskit IBM runtime service (here, the account has to be set-up previously):\n",
62
62
  "service = QiskitRuntimeService(channel=\"ibm_quantum\")\n",
63
63
  "# Alternative: service = QiskitRuntimeService(channel=\"ibm_quantum\",token=\"YOUR_TOKEN_HERE\")\n",
64
- "executor = Executor(service.get_backend(\"ibm_kyoto\"))\n",
64
+ "executor = Executor(service.backend(\"ibm_kyoto\"))\n",
65
65
  "# from a session set-up with the Qiskit IBM runtime service:\n",
66
- "session = Session(service, backend=service.get_backend(\"ibm_kyoto\"), max_time=28800)\n",
66
+ "session = Session(service, backend=service.backend(\"ibm_kyoto\"), max_time=28800)\n",
67
67
  "executor = Executor(session)\n",
68
68
  "\n",
69
69
  "# from the Qiskit IBM runtime Estimator primitive:\n",
70
- "session = Session(service, backend=service.get_backend(\"ibm_kyoto\"), max_time=28800)\n",
70
+ "session = Session(service, backend=service.backend(\"ibm_kyoto\"), max_time=28800)\n",
71
71
  "estimator = RuntimeEstimator(session=session)\n",
72
72
  "executor = Executor(estimator)"
73
73
  ]
@@ -581,16 +581,16 @@
581
581
  "}\n",
582
582
  "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>QSVC(C=1.0, break_ties=False, cache_size=200, class_weight=None,\n",
583
583
  " decision_function_shape=&#x27;ovr&#x27;, max_iter=-1, probability=False,\n",
584
- " quantum_kernel=&lt;squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40&gt;,\n",
584
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40&gt;,\n",
585
585
  " random_state=None, shrinking=True, tol=0.001, verbose=False)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;QSVC<span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>QSVC(C=1.0, break_ties=False, cache_size=200, class_weight=None,\n",
586
586
  " decision_function_shape=&#x27;ovr&#x27;, max_iter=-1, probability=False,\n",
587
- " quantum_kernel=&lt;squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40&gt;,\n",
587
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40&gt;,\n",
588
588
  " random_state=None, shrinking=True, tol=0.001, verbose=False)</pre></div> </div></div></div></div>"
589
589
  ],
590
590
  "text/plain": [
591
591
  "QSVC(C=1.0, break_ties=False, cache_size=200, class_weight=None,\n",
592
592
  " decision_function_shape='ovr', max_iter=-1, probability=False,\n",
593
- " quantum_kernel=<squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40>,\n",
593
+ " quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40>,\n",
594
594
  " random_state=None, shrinking=True, tol=0.001, verbose=False)"
595
595
  ]
596
596
  },
@@ -160,7 +160,7 @@
160
160
  "name": "stdout",
161
161
  "output_type": "stream",
162
162
  "text": [
163
- "WARNING: Advanced option. Do not use it within an squlearn.kernel.ml workflow\n"
163
+ "WARNING: Advanced option. Do not use it within an squlearn.kernel workflow\n"
164
164
  ]
165
165
  },
166
166
  {
@@ -463,16 +463,16 @@
463
463
  "}\n",
464
464
  "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>QGPC(copy_X_train=True, max_iter_predict=100, multi_class=&#x27;one_vs_rest&#x27;,\n",
465
465
  " n_jobs=None, n_restarts_optimizer=0, optimizer=&#x27;fmin_l_bfgs_b&#x27;,\n",
466
- " quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40&gt;,\n",
466
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40&gt;,\n",
467
467
  " random_state=None)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;QGPC<span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>QGPC(copy_X_train=True, max_iter_predict=100, multi_class=&#x27;one_vs_rest&#x27;,\n",
468
468
  " n_jobs=None, n_restarts_optimizer=0, optimizer=&#x27;fmin_l_bfgs_b&#x27;,\n",
469
- " quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40&gt;,\n",
469
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40&gt;,\n",
470
470
  " random_state=None)</pre></div> </div></div></div></div>"
471
471
  ],
472
472
  "text/plain": [
473
473
  "QGPC(copy_X_train=True, max_iter_predict=100, multi_class='one_vs_rest',\n",
474
474
  " n_jobs=None, n_restarts_optimizer=0, optimizer='fmin_l_bfgs_b',\n",
475
- " quantum_kernel=<squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40>,\n",
475
+ " quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40>,\n",
476
476
  " random_state=None)"
477
477
  ]
478
478
  },
@@ -23,7 +23,8 @@
23
23
  "from squlearn import Executor\n",
24
24
  "from squlearn.encoding_circuit import ChebyshevPQC\n",
25
25
  "from squlearn.observables import SummedPaulis\n",
26
- "from squlearn.qnn import QNNRegressor, SquaredLoss, get_variance_fac, ShotsFromRSTD\n",
26
+ "from squlearn.qnn import QNNRegressor, SquaredLoss\n",
27
+ "from squlearn.qnn.util import get_variance_fac, ShotsFromRSTD\n",
27
28
  "from squlearn.optimizers import Adam"
28
29
  ]
29
30
  },
@@ -276,11 +277,8 @@
276
277
  }
277
278
  ],
278
279
  "metadata": {
279
- "interpreter": {
280
- "hash": "26de051ba29f2982a8de78e945f0abaf191376122a1563185a90213a26c5da77"
281
- },
282
280
  "kernelspec": {
283
- "display_name": "Python 3.10.2 64-bit",
281
+ "display_name": "venv",
284
282
  "language": "python",
285
283
  "name": "python3"
286
284
  },
@@ -294,7 +292,7 @@
294
292
  "name": "python",
295
293
  "nbconvert_exporter": "python",
296
294
  "pygments_lexer": "ipython3",
297
- "version": "3.10.10"
295
+ "version": "3.12.7"
298
296
  },
299
297
  "orig_nbformat": 4
300
298
  },
@@ -28,7 +28,8 @@
28
28
  ")\n",
29
29
  "from squlearn.encoding_circuit.layered_encoding_circuit import Layer\n",
30
30
  "from squlearn.observables import SummedPaulis\n",
31
- "from squlearn.qnn import QNNRegressor, ODELoss, get_lr_decay\n",
31
+ "from squlearn.qnn import QNNRegressor, ODELoss\n",
32
+ "from squlearn.qnn.util import get_lr_decay\n",
32
33
  "from squlearn.optimizers import Adam\n",
33
34
  "from scipy.integrate import odeint"
34
35
  ]
@@ -8,7 +8,7 @@
8
8
  "\n",
9
9
  "In this notebook, images of handwritten digits are classified by a quantum computer. Quantum machine learning methods promise advantages over conventional algorithms because they can map data into an exponentially large state space. However, the size of the space can also have disadvantages. In this notebook, the data is projected back into a classical space after being mapped into the Hilbert space, in order to take advantage of the benefits of QML without its drawbacks.\n",
10
10
  "\n",
11
- "This notebook will make use of sQUlearn's implementations of Quantum Support Vector Classification [squlearn.kernel.QSVC](https://sQUlearn.github.io/modules/generated/squlearn.kernel.ml.QSVC.html) and Projected Quantum Kernels [squlearn.kernel.ProjectedQuantumKernel](https://sQUlearn.github.io/modules/generated/squlearn.kernel.matrix.ProjectedQuantumKernel.html).\n",
11
+ "This notebook will make use of sQUlearn's implementations of Quantum Support Vector Classification [squlearn.kernel.QSVC](https://sQUlearn.github.io/modules/generated/squlearn.kernel.QSVC.html) and Projected Quantum Kernels [squlearn.kernel.ProjectedQuantumKernel](https://sQUlearn.github.io/modules/generated/squlearn.kernel.lowlevel_kernel.ProjectedQuantumKernel.html).\n",
12
12
  "\n",
13
13
  "The data set used here is well known from conventional machine learning and easily solvable with conventional methods. The workflow that that is applied to solve the classification with a quantum computer is representative for this kind of task and can be transferred to more complex data sets.\n",
14
14
  "\n",
@@ -46,8 +46,8 @@
46
46
  "\n",
47
47
  "from squlearn import Executor\n",
48
48
  "from squlearn.encoding_circuit import ChebyshevPQC\n",
49
- "from squlearn.kernel.ml.qsvc import QSVC\n",
50
- "from squlearn.kernel.matrix import ProjectedQuantumKernel"
49
+ "from squlearn.kernel.qsvc import QSVC\n",
50
+ "from squlearn.kernel.lowlevel_kernel import ProjectedQuantumKernel"
51
51
  ]
52
52
  },
53
53
  {
@@ -916,16 +916,16 @@
916
916
  "}\n",
917
917
  "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>QSVC(C=1.0, break_ties=False, cache_size=200, class_weight=None,\n",
918
918
  " decision_function_shape=&#x27;ovr&#x27;, max_iter=-1, probability=False,\n",
919
- " quantum_kernel=&lt;squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90&gt;,\n",
919
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90&gt;,\n",
920
920
  " random_state=None, shrinking=True, tol=0.001, verbose=False)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;QSVC<span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>QSVC(C=1.0, break_ties=False, cache_size=200, class_weight=None,\n",
921
921
  " decision_function_shape=&#x27;ovr&#x27;, max_iter=-1, probability=False,\n",
922
- " quantum_kernel=&lt;squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90&gt;,\n",
922
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90&gt;,\n",
923
923
  " random_state=None, shrinking=True, tol=0.001, verbose=False)</pre></div> </div></div></div></div>"
924
924
  ],
925
925
  "text/plain": [
926
926
  "QSVC(C=1.0, break_ties=False, cache_size=200, class_weight=None,\n",
927
927
  " decision_function_shape='ovr', max_iter=-1, probability=False,\n",
928
- " quantum_kernel=<squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90>,\n",
928
+ " quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90>,\n",
929
929
  " random_state=None, shrinking=True, tol=0.001, verbose=False)"
930
930
  ]
931
931
  },
@@ -38,8 +38,8 @@
38
38
  "\n",
39
39
  "from squlearn import Executor\n",
40
40
  "from squlearn.encoding_circuit import YZ_CX_EncodingCircuit\n",
41
- "from squlearn.kernel.matrix import FidelityKernel, ProjectedQuantumKernel\n",
42
- "from squlearn.kernel.ml import QGPR, QSVR"
41
+ "from squlearn.kernel.lowlevel_kernel import FidelityKernel, ProjectedQuantumKernel\n",
42
+ "from squlearn.kernel import QGPR, QSVR"
43
43
  ]
44
44
  },
45
45
  {
@@ -622,47 +622,47 @@
622
622
  "}\n",
623
623
  "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GridSearchCV(estimator=Pipeline(steps=[(&#x27;scaler&#x27;, StandardScaler()),\n",
624
624
  " (&#x27;estimator&#x27;,\n",
625
- " QGPR(quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;))]),\n",
625
+ " QGPR(quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;))]),\n",
626
626
  " param_grid=[{&#x27;estimator&#x27;: [QGPR(full_regularization=False,\n",
627
- " quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;)],\n",
627
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;)],\n",
628
628
  " &#x27;estimat...\n",
629
629
  " &#x27;estimator__num_qubits&#x27;: [1, 2, 4]},\n",
630
630
  " {&#x27;estimator&#x27;: [QSVR(C=1.0, cache_size=200, epsilon=0.1,\n",
631
631
  " max_iter=-1,\n",
632
- " quantum_kernel=&lt;squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20&gt;,\n",
632
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20&gt;,\n",
633
633
  " shrinking=True, tol=0.001,\n",
634
634
  " verbose=False)],\n",
635
635
  " &#x27;estimator__num_layers&#x27;: [1, 2, 3],\n",
636
636
  " &#x27;estimator__num_qubits&#x27;: [1, 2, 4]}],\n",
637
637
  " scoring=&#x27;neg_mean_squared_error&#x27;)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" ><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;GridSearchCV<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.model_selection.GridSearchCV.html\">?<span>Documentation for GridSearchCV</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>GridSearchCV(estimator=Pipeline(steps=[(&#x27;scaler&#x27;, StandardScaler()),\n",
638
638
  " (&#x27;estimator&#x27;,\n",
639
- " QGPR(quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;))]),\n",
639
+ " QGPR(quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;))]),\n",
640
640
  " param_grid=[{&#x27;estimator&#x27;: [QGPR(full_regularization=False,\n",
641
- " quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;)],\n",
641
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;)],\n",
642
642
  " &#x27;estimat...\n",
643
643
  " &#x27;estimator__num_qubits&#x27;: [1, 2, 4]},\n",
644
644
  " {&#x27;estimator&#x27;: [QSVR(C=1.0, cache_size=200, epsilon=0.1,\n",
645
645
  " max_iter=-1,\n",
646
- " quantum_kernel=&lt;squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20&gt;,\n",
646
+ " quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20&gt;,\n",
647
647
  " shrinking=True, tol=0.001,\n",
648
648
  " verbose=False)],\n",
649
649
  " &#x27;estimator__num_layers&#x27;: [1, 2, 3],\n",
650
650
  " &#x27;estimator__num_qubits&#x27;: [1, 2, 4]}],\n",
651
651
  " scoring=&#x27;neg_mean_squared_error&#x27;)</pre></div> </div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" ><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">estimator: Pipeline</label><div class=\"sk-toggleable__content fitted\"><pre>Pipeline(steps=[(&#x27;scaler&#x27;, StandardScaler()),\n",
652
652
  " (&#x27;estimator&#x27;,\n",
653
- " QGPR(quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;))])</pre></div> </div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;StandardScaler<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.preprocessing.StandardScaler.html\">?<span>Documentation for StandardScaler</span></a></label><div class=\"sk-toggleable__content fitted\"><pre>StandardScaler()</pre></div> </div></div><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-4\" type=\"checkbox\" ><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">QGPR</label><div class=\"sk-toggleable__content fitted\"><pre>QGPR(quantum_kernel=&lt;squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;)</pre></div> </div></div></div></div></div></div></div></div></div></div></div>"
653
+ " QGPR(quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;))])</pre></div> </div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;StandardScaler<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.preprocessing.StandardScaler.html\">?<span>Documentation for StandardScaler</span></a></label><div class=\"sk-toggleable__content fitted\"><pre>StandardScaler()</pre></div> </div></div><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-4\" type=\"checkbox\" ><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">QGPR</label><div class=\"sk-toggleable__content fitted\"><pre>QGPR(quantum_kernel=&lt;squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20&gt;)</pre></div> </div></div></div></div></div></div></div></div></div></div></div>"
654
654
  ],
655
655
  "text/plain": [
656
656
  "GridSearchCV(estimator=Pipeline(steps=[('scaler', StandardScaler()),\n",
657
657
  " ('estimator',\n",
658
- " QGPR(quantum_kernel=<squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>))]),\n",
658
+ " QGPR(quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>))]),\n",
659
659
  " param_grid=[{'estimator': [QGPR(full_regularization=False,\n",
660
- " quantum_kernel=<squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>)],\n",
660
+ " quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>)],\n",
661
661
  " 'estimat...\n",
662
662
  " 'estimator__num_qubits': [1, 2, 4]},\n",
663
663
  " {'estimator': [QSVR(C=1.0, cache_size=200, epsilon=0.1,\n",
664
664
  " max_iter=-1,\n",
665
- " quantum_kernel=<squlearn.kernel.matrix.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20>,\n",
665
+ " quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20>,\n",
666
666
  " shrinking=True, tol=0.001,\n",
667
667
  " verbose=False)],\n",
668
668
  " 'estimator__num_layers': [1, 2, 3],\n",
@@ -839,7 +839,7 @@
839
839
  "Best Estimator: Pipeline(steps=[('scaler', StandardScaler()),\n",
840
840
  " ('estimator',\n",
841
841
  " QSVR(C=100.0, cache_size=200, epsilon=0.0001, max_iter=-1,\n",
842
- " quantum_kernel=<squlearn.kernel.matrix.fidelity_kernel.FidelityKernel object at 0x0000016F9C622EC0>,\n",
842
+ " quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F9C622EC0>,\n",
843
843
  " shrinking=True, tol=0.001, verbose=False))])\n"
844
844
  ]
845
845
  }
@@ -31,8 +31,8 @@
31
31
  "\n",
32
32
  "from squlearn import Executor\n",
33
33
  "from squlearn.encoding_circuit import ChebyshevPQC\n",
34
- "from squlearn.kernel.matrix import ProjectedQuantumKernel, FidelityKernel\n",
35
- "from squlearn.kernel.ml import QKRR"
34
+ "from squlearn.kernel.lowlevel_kernel import ProjectedQuantumKernel, FidelityKernel\n",
35
+ "from squlearn.kernel import QKRR"
36
36
  ]
37
37
  },
38
38
  {
@@ -72,7 +72,8 @@
72
72
  "from squlearn import Executor\n",
73
73
  "from squlearn.encoding_circuit import KyriienkoEncodingCircuit\n",
74
74
  "from squlearn.observables import SummedPaulis\n",
75
- "from squlearn.qnn import QNNRegressor, ODELoss, get_lr_decay\n",
75
+ "from squlearn.qnn import QNNRegressor, ODELoss\n",
76
+ "from squlearn.qnn.util import get_lr_decay\n",
76
77
  "from squlearn.optimizers import Adam"
77
78
  ]
78
79
  },
@@ -11,7 +11,7 @@
11
11
  "cell_type": "markdown",
12
12
  "metadata": {},
13
13
  "source": [
14
- "In this notebook, we will perform a Bayesian Optimization by using sQUlearn's implementations of Quantum Gaussian Processes [squlearn.kernel.QGPR](https://sQUlearn.github.io/modules/generated/squlearn.kernel.ml.QGPR.html) and Fidelity Kernels [squlearn.kernel.FidelityKernel](https://sQUlearn.github.io/modules/generated/squlearn.kernel.matrix.FidelityKernel.html).\n",
14
+ "In this notebook, we will perform a Bayesian Optimization by using sQUlearn's implementations of Quantum Gaussian Processes [squlearn.kernel.QGPR](https://sQUlearn.github.io/modules/generated/squlearn.kernel.QGPR.html) and Fidelity Kernels [squlearn.kernel.FidelityKernel](https://sQUlearn.github.io/modules/generated/squlearn.kernel.lowlevel_kernel.FidelityKernel.html).\n",
15
15
  "<center>\n",
16
16
  "<img src=\"images/quantum_bo.png\" alt=\"quantum_bo\" width=\"800\"/>\n",
17
17
  "\n",
@@ -263,8 +263,8 @@
263
263
  "\n",
264
264
  "from squlearn.util import Executor\n",
265
265
  "from squlearn.encoding_circuit import HubregtsenEncodingCircuit\n",
266
- "from squlearn.kernel.matrix import FidelityKernel\n",
267
- "from squlearn.kernel.ml import QGPR\n",
266
+ "from squlearn.kernel.lowlevel_kernel import FidelityKernel\n",
267
+ "from squlearn.kernel import QGPR\n",
268
268
  "\n",
269
269
  "# set up quantum kernel and qgpr\n",
270
270
  "num_qubits = 4\n",
@@ -493,7 +493,7 @@
493
493
  "cell_type": "markdown",
494
494
  "metadata": {},
495
495
  "source": [
496
- "For the QGPR the choice of Projected Quantum Kernels [squlearn.kernel.ProjectedQuantumKernel](https://sQUlearn.github.io/modules/generated/squlearn.kernel.matrix.ProjectedQuantumKernel.html) is also possible. \n",
496
+ "For the QGPR the choice of Projected Quantum Kernels [squlearn.kernel.ProjectedQuantumKernel](https://sQUlearn.github.io/modules/generated/squlearn.kernel.lowlevel_kernel.ProjectedQuantumKernel.html) is also possible. \n",
497
497
  "The algorithm can also be applied to more sophisticated problems. E.g., we used it to optimize the price prediction of industrial machinery. The intrested reader can learn more about it from our pre-print [Quantum Gaussian Process Regression for Bayesian Optimization](https://link.springer.com/article/10.1007/s42484-023-00138-9).\n"
498
498
  ]
499
499
  },
@@ -31,13 +31,13 @@ dependencies = [
31
31
  "networkx>=3.0",
32
32
  "numpy>=1.20",
33
33
  "pennylane>=0.34.0",
34
- "qiskit>=0.45.0",
34
+ "qiskit>=0.45.0,<2",
35
35
  "qiskit-aer>=0.12.0",
36
36
  "qiskit-algorithms>=0.3.0",
37
37
  "qiskit-ibm-runtime>=0.18.0",
38
38
  "qiskit-machine-learning>=0.7.0",
39
39
  "scipy>=1.8.0",
40
- "scikit-learn>=1.2.0,<1.4.2",
40
+ "scikit-learn>=1.2.0",
41
41
  "tqdm>=4.1.0",
42
42
  ]
43
43
  requires-python = ">=3.9,<3.13"
@@ -3,7 +3,7 @@
3
3
  from .util import Executor
4
4
  from . import observables, encoding_circuit, kernel, optimizers, qnn, util
5
5
 
6
- __version__ = "0.8.1"
6
+ __version__ = "0.8.2"
7
7
 
8
8
  __all__ = [
9
9
  "Executor",
@@ -0,0 +1,18 @@
1
+ from .lowlevel_kernel import FidelityKernel, ProjectedQuantumKernel, KernelOptimizer
2
+
3
+ from .qgpr import QGPR
4
+ from .qgpc import QGPC
5
+ from .qkrr import QKRR
6
+ from .qsvr import QSVR
7
+ from .qsvc import QSVC
8
+
9
+ __all__ = [
10
+ "FidelityKernel",
11
+ "ProjectedQuantumKernel",
12
+ "KernelOptimizer",
13
+ "QGPC",
14
+ "QGPR",
15
+ "QKRR",
16
+ "QSVR",
17
+ "QSVC",
18
+ ]