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.
- {squlearn-0.8.1 → squlearn-0.8.2}/PKG-INFO +5 -4
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/modules/classes.rst +19 -19
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/executor.rst +8 -8
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/kernel_methods.rst +2 -2
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/quantum_neural_networks.rst +8 -6
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/encoding_circuits/various_encoding_circuit.ipynb +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/executor/example_executor_qiskit.ipynb +3 -3
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/example_projected_kernel.ipynb +3 -3
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/example_regularization_mitigation.ipynb +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/qgpc_workflow.ipynb +3 -3
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/example_adam.ipynb +4 -6
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/ode_example.ipynb +2 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/kernel_digit_classification.ipynb +6 -6
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/kernel_grid_search.ipynb +13 -13
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/kernel_regression.ipynb +2 -2
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/qnn_ode_solver.ipynb +2 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/quantum_bayesian_optimization.ipynb +4 -4
- {squlearn-0.8.1 → squlearn-0.8.2}/pyproject.toml +2 -2
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/__init__.py +1 -1
- squlearn-0.8.2/src/squlearn/kernel/__init__.py +18 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/kernel_loss_base.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/negative_log_likelihood.py +2 -2
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/target_alignment.py +1 -1
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/fidelity_kernel.py +2 -2
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/fidelity_kernel_pennylane.py +1 -1
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/kernel_matrix_base.py +1 -1
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/projected_quantum_kernel.py +5 -5
- {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qgpc.py +7 -6
- {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qgpr.py +30 -17
- {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qkrr.py +20 -10
- {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qsvc.py +6 -4
- {squlearn-0.8.1/src/squlearn/kernel/ml → squlearn-0.8.2/src/squlearn/kernel}/qsvr.py +6 -4
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/optimizers_wrapper.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/__init__.py +3 -7
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/base_qnn.py +15 -4
- squlearn-0.8.2/src/squlearn/qnn/loss/__init__.py +15 -0
- squlearn-0.8.2/src/squlearn/qnn/loss/ode_loss.py +607 -0
- squlearn-0.8.2/src/squlearn/qnn/loss/parameter_regularization_loss.py +189 -0
- squlearn-0.8.2/src/squlearn/qnn/loss/qnn_loss_base.py +363 -0
- squlearn-0.8.2/src/squlearn/qnn/loss/squared_loss.py +144 -0
- squlearn-0.8.2/src/squlearn/qnn/loss/variance_loss.py +116 -0
- squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn/__init__.py +3 -0
- {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn.py +10 -8
- {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn_base.py +3 -3
- {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn_pennylane.py +7 -7
- {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/lowlevel_qnn}/lowlevel_qnn_qiskit.py +8 -8
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/qnnc.py +17 -5
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qnn/qnnr.py +19 -6
- squlearn-0.8.2/src/squlearn/qnn/util/__init__.py +5 -0
- {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/util}/barren_plateau_analysis.py +2 -3
- {squlearn-0.8.1/src/squlearn/qnn → squlearn-0.8.2/src/squlearn/qnn/util}/training.py +12 -10
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/base_qrc.py +16 -3
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/executor.py +36 -89
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/optree.py +3 -3
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/optree_evaluate.py +4 -4
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/matrix/test_projected_quantum_kernel.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qgpc.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qgpr.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qkrr.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qsvc.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/ml/test_qsvr.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_training.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qrc/test_base_qrc.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qrc/test_qrc_classifier.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qrc/test_qrc_regressor.py +1 -1
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/optree/test_optree_evaluate.py +1 -1
- squlearn-0.8.1/src/squlearn/kernel/__init__.py +0 -17
- squlearn-0.8.1/src/squlearn/kernel/ml/__init__.py +0 -8
- squlearn-0.8.1/src/squlearn/qnn/loss.py +0 -1389
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/CODE_OF_CONDUCT.md +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/CONTRIBUTING.md +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/doc_checks.yml +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/format.yml +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/publish.yml +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/publish_docs.yml +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.github/workflows/tests.yaml +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/.gitignore +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/CITATION.cff +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/LICENSE.txt +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/README.md +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/Makefile +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/README.md +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/css/custom.css +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/favicon.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/logo.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qkm/QKM_scheme_pic.jpg +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qnn/qnn.svg +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qrc/QRC_user_guide.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qrc/qrc_classification_transparent.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/qrc/qrc_regression_transparent.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/schematic.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_static/util/executor.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_templates/class.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_templates/class_with_call.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/_templates/function.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/conf.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_kernel_digit_classification.nblink +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_kernel_grid_search.nblink +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_qnn_backend_mitigation.nblink +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_qnn_ode_solver.nblink +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/example_quantum_bayesian_optimization.nblink +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/examples/examples_index.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/index.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/install/install.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/make.bat +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/qiskit_settings.conf +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/spelling_wordlist.txt +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/encoding_circuits.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/observables.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/quantum_reservoir_computing.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/docs/user_guide/user_guide_index.rst +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/encoding_circuits/layered_encoding_circuit.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/encoding_circuits/pruning_example.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/integration/mlflow.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/example_fidelity_kernel.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/qgpr_optimization_workflow.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/kernel/qgpr_workflow.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/classification_example.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/example_minibatch.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/example_qcnn_encoding_circuit.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/regression_example.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qnn/regression_with_variance.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qrc/qrc_classification.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/qrc/qrc_regression.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/QNN_ode_workflow.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/encoding_circuit.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/pipeline.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/projected_quantum_kernel.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/images/quantum_bo.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/examples/tutorials/qnn_backend_mitigation.ipynb +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/install_lowest_dependencies.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/output.png +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/chebyshev_pqc.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/chebyshev_rx.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/chebyshev_tower.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/highdim_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/hubregtsen_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/kyriienko_nonlinear_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/multi_control_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/param_z_feature_map.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/qcnn_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/qiskit_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/random_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/random_layered_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/circuit_library/yz_cx_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/encoding_circuit_base.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/encoding_circuit_derivatives.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/layered_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/pruned_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/encoding_circuit/transpiled_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/kernel/loss/__init__.py +0 -0
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/__init__.py +0 -0
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/kernel_optimizer.py +0 -0
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/kernel_util.py +0 -0
- {squlearn-0.8.1/src/squlearn/kernel/matrix → squlearn-0.8.2/src/squlearn/kernel/lowlevel_kernel}/regularization.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_base.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_derivatives.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/custom_observable.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/ising_hamiltonian.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/single_pauli.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/single_probability.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/summed_paulis.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/observables/observable_implemented/summed_probabilities.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/adam.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/approximated_gradients.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/optimizer_base.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/optimizers/sglbo.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/qrc_classifier.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/qrc/qrc_regressor.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/data_preprocessing.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/decompose_to_std.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/automatic_backend_selection.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/hqaa/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/hqaa/heuristic.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/hqaa/parser.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/parallel_estimator.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/execution/parallel_sampler.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/optree/optree_derivative.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/pennylane/__init__.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/pennylane/pennylane_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/pennylane/pennylane_gates.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/src/squlearn/util/qfi.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/encoding_circuit/test_layered_encoding_circuit.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/encoding_circuit/test_random_encoding_circuits.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/kernel/matrix/test_kernel_optimizer.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/optimizers/test_sglbo.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_base_qnn.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_qnnc.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/qnn/test_qnnr.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/execution/test_automatic_backend_selection.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/execution/test_parallel_primitives.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/optree/test_optree_derivative.py +0 -0
- {squlearn-0.8.1 → squlearn-0.8.2}/tests/util/test_executor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: squlearn
|
|
3
|
-
Version: 0.8.
|
|
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
|
|
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.
|
|
20
|
-
kernel.
|
|
21
|
-
kernel.
|
|
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.
|
|
37
|
-
kernel.
|
|
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.
|
|
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.
|
|
170
|
-
kernel.
|
|
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.
|
|
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.
|
|
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:`
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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='ovr', max_iter=-1, probability=False,\n",
|
|
584
|
-
" quantum_kernel=<squlearn.kernel.
|
|
584
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40>,\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\"> 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='ovr', max_iter=-1, probability=False,\n",
|
|
587
|
-
" quantum_kernel=<squlearn.kernel.
|
|
587
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000017603089B40>,\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.
|
|
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
|
|
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='one_vs_rest',\n",
|
|
465
465
|
" n_jobs=None, n_restarts_optimizer=0, optimizer='fmin_l_bfgs_b',\n",
|
|
466
|
-
" quantum_kernel=<squlearn.kernel.
|
|
466
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40>,\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\"> 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='one_vs_rest',\n",
|
|
468
468
|
" n_jobs=None, n_restarts_optimizer=0, optimizer='fmin_l_bfgs_b',\n",
|
|
469
|
-
" quantum_kernel=<squlearn.kernel.
|
|
469
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x000001B61DF09B40>,\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.
|
|
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
|
|
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": "
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
50
|
-
"from squlearn.kernel.
|
|
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='ovr', max_iter=-1, probability=False,\n",
|
|
919
|
-
" quantum_kernel=<squlearn.kernel.
|
|
919
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90>,\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\"> 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='ovr', max_iter=-1, probability=False,\n",
|
|
922
|
-
" quantum_kernel=<squlearn.kernel.
|
|
922
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x000001804D3F0A90>,\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.
|
|
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.
|
|
42
|
-
"from squlearn.kernel
|
|
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=[('scaler', StandardScaler()),\n",
|
|
624
624
|
" ('estimator',\n",
|
|
625
|
-
" QGPR(quantum_kernel=<squlearn.kernel.
|
|
625
|
+
" QGPR(quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>))]),\n",
|
|
626
626
|
" param_grid=[{'estimator': [QGPR(full_regularization=False,\n",
|
|
627
|
-
" quantum_kernel=<squlearn.kernel.
|
|
627
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>)],\n",
|
|
628
628
|
" 'estimat...\n",
|
|
629
629
|
" 'estimator__num_qubits': [1, 2, 4]},\n",
|
|
630
630
|
" {'estimator': [QSVR(C=1.0, cache_size=200, epsilon=0.1,\n",
|
|
631
631
|
" max_iter=-1,\n",
|
|
632
|
-
" quantum_kernel=<squlearn.kernel.
|
|
632
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20>,\n",
|
|
633
633
|
" shrinking=True, tol=0.001,\n",
|
|
634
634
|
" verbose=False)],\n",
|
|
635
635
|
" 'estimator__num_layers': [1, 2, 3],\n",
|
|
636
636
|
" 'estimator__num_qubits': [1, 2, 4]}],\n",
|
|
637
637
|
" scoring='neg_mean_squared_error')</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\"> 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=[('scaler', StandardScaler()),\n",
|
|
638
638
|
" ('estimator',\n",
|
|
639
|
-
" QGPR(quantum_kernel=<squlearn.kernel.
|
|
639
|
+
" QGPR(quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>))]),\n",
|
|
640
640
|
" param_grid=[{'estimator': [QGPR(full_regularization=False,\n",
|
|
641
|
-
" quantum_kernel=<squlearn.kernel.
|
|
641
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>)],\n",
|
|
642
642
|
" 'estimat...\n",
|
|
643
643
|
" 'estimator__num_qubits': [1, 2, 4]},\n",
|
|
644
644
|
" {'estimator': [QSVR(C=1.0, cache_size=200, epsilon=0.1,\n",
|
|
645
645
|
" max_iter=-1,\n",
|
|
646
|
-
" quantum_kernel=<squlearn.kernel.
|
|
646
|
+
" quantum_kernel=<squlearn.kernel.lowlevel_kernel.projected_quantum_kernel.ProjectedQuantumKernel object at 0x0000016F9872EF20>,\n",
|
|
647
647
|
" shrinking=True, tol=0.001,\n",
|
|
648
648
|
" verbose=False)],\n",
|
|
649
649
|
" 'estimator__num_layers': [1, 2, 3],\n",
|
|
650
650
|
" 'estimator__num_qubits': [1, 2, 4]}],\n",
|
|
651
651
|
" scoring='neg_mean_squared_error')</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=[('scaler', StandardScaler()),\n",
|
|
652
652
|
" ('estimator',\n",
|
|
653
|
-
" QGPR(quantum_kernel=<squlearn.kernel.
|
|
653
|
+
" QGPR(quantum_kernel=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>))])</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\"> 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=<squlearn.kernel.lowlevel_kernel.fidelity_kernel.FidelityKernel object at 0x0000016F98366C20>)</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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
35
|
-
"from squlearn.kernel
|
|
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
|
|
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.
|
|
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.
|
|
267
|
-
"from squlearn.kernel
|
|
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.
|
|
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
|
|
40
|
+
"scikit-learn>=1.2.0",
|
|
41
41
|
"tqdm>=4.1.0",
|
|
42
42
|
]
|
|
43
43
|
requires-python = ">=3.9,<3.13"
|
|
@@ -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
|
+
]
|