Repository: qiskit-community/qiskit-machine-learning (language: python)

Issue:
Switch from qiskit.algorithms to qiskit_algorithms
Switch to use qiskit_algorithms so typehints etc refer to this. As its compatible with qiskit.algorithms users existing primitive based use of ML should work without change. I suggest changing the code first and pushing this to CI, leaving tests and tutorials unchanged using qiskit.algorithms just to double check. If there are no issues then changing these over. For algorithm_globals this should now be imported from qiskit_algorithms.utils not qiskit.utils.

- [x] Add qiskit-algorithms to requirements
- [x] Add intersphinx in docs conf.py for qiskit-algorithms
- [x] Change `qiskit.algorithms` to `qiskit_algorithms` for both code and docs class refs etc
- [x] Change unit tests, tutorials, readme sample etc (older migration quides, old release notes can stay as-is)
- [x] Import `algorithm_globals` from `qiskit_algorithms.utils` not `qiskit.utils`.



Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 01f2aef39..d52399889 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,8 @@ without deep quantum computing knowledge. On the other hand, Qiskit Machine Lear
 and users can easily extend it to support cutting-edge quantum machine learning research.
 
 Qiskit Machine Learning provides the
-[FidelityQuantumKernel](https://qiskit.org/documentation/machine-learning/stubs/qiskit_machine_learning.kernels.QuantumKernel.html#qiskit_machine_learning.kernels.FidelityQuantumKernel)
-class that makes use of the [Fidelity](https://qiskit.org/documentation/stubs/qiskit.algorithms.state_fidelities.BaseStateFidelity.html) algorithm introduced in Qiskit and can be easily used to directly compute
+[FidelityQuantumKernel](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.kernels.QuantumKernel.html#qiskit_machine_learning.kernels.FidelityQuantumKernel)
+class that makes use of the [Fidelity](https://qiskit.org/ecosystem/algorithms/stubs/qiskit_algorithms.state_fidelities.BaseStateFidelity.html) algorithm introduced in Qiskit and can be easily used to directly compute
 kernel matrices for given datasets or can be passed to a Quantum Support Vector Classifier 
 [QSVC](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.algorithms.QSVC.html#qiskit_machine_learning.algorithms.QSVC) or
 Quantum Support Vector Regressor
@@ -91,9 +91,9 @@ train and test samples from a data set to see how accurately the test set can
 be classified.
 
 ```python
-from qiskit.algorithms.optimizers import COBYLA
 from qiskit.circuit.library import TwoLocal, ZZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.optimizers import COBYLA
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.algorithms import VQC
 from qiskit_machine_learning.datasets import ad_hoc_data
diff --git a/docs/conf.py b/docs/conf.py
index 2e0212a1c..eea1ae451 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -197,6 +197,7 @@
     "scipy": ("https://docs.scipy.org/doc/scipy", None),
     "sklearn": ("https://scikit-learn.org/stable", None),
     "qiskit": ("https://qiskit.org/documentation/", None),
+    "qiskit-algorithms": ("https://qiskit.org/ecosystem/algorithms/", None),
 }
 
 html_context = {"analytics_enabled": True}
diff --git a/docs/index.rst b/docs/index.rst
index ec5b02f73..ee045ff58 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -12,7 +12,7 @@ without deep quantum computing knowledge. On the other hand, Qiskit Machine Lear
 and users can easily extend it to support cutting-edge quantum machine learning research.
 
 Qiskit Machine Learning provides the :class:`~qiskit_machine_learning.kernels.FidelityQuantumKernel`
-class class that makes use of the :class:`~qiskit.algorithms.state_fidelities.BaseStateFidelity` algorithm
+class class that makes use of the :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` algorithm
 introduced in Qiskit and can be easily used to directly compute kernel matrices for given datasets
 or can be passed to a Quantum Support Vector Classifier
 (:class:`~qiskit_machine_learning.algorithms.QSVC`) or
diff --git a/docs/tutorials/01_neural_networks.ipynb b/docs/tutorials/01_neural_networks.ipynb
index 5b3b12496..fa1784819 100644
--- a/docs/tutorials/01_neural_networks.ipynb
+++ b/docs/tutorials/01_neural_networks.ipynb
@@ -92,7 +92,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "algorithm_globals.random_seed = 42"
    ]
@@ -119,8 +119,10 @@
    "outputs": [
     {
      "data": {
-      "text/plain": "<Figure size 352.675x117.056 with 1 Axes>",
-      "image/png": "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\n"
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 352.675x117.056 with 1 Axes>"
+      ]
      },
      "execution_count": 26,
      "metadata": {},
@@ -183,7 +185,9 @@
    "outputs": [
     {
      "data": {
-      "text/plain": "<qiskit_machine_learning.neural_networks.estimator_qnn.EstimatorQNN at 0x7fd668ca0e80>"
+      "text/plain": [
+       "<qiskit_machine_learning.neural_networks.estimator_qnn.EstimatorQNN at 0x7fd668ca0e80>"
+      ]
      },
      "execution_count": 28,
      "metadata": {},
@@ -247,8 +251,10 @@
     },
     {
      "data": {
-      "text/plain": "<Figure size 538.128x200.667 with 1 Axes>",
-      "image/png": "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\n"
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 538.128x200.667 with 1 Axes>"
+      ]
      },
      "execution_count": 29,
      "metadata": {},
@@ -297,7 +303,9 @@
    "outputs": [
     {
      "data": {
-      "text/plain": "<qiskit_machine_learning.neural_networks.sampler_qnn.SamplerQNN at 0x7fd659264880>"
+      "text/plain": [
+       "<qiskit_machine_learning.neural_networks.sampler_qnn.SamplerQNN at 0x7fd659264880>"
+      ]
      },
      "execution_count": 30,
      "metadata": {},
@@ -1015,16 +1023,24 @@
    "outputs": [
     {
      "data": {
-      "text/plain": "<IPython.core.display.HTML object>",
-      "text/html": "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td><code>qiskit-terra</code></td><td>0.22.3</td></tr><tr><td><code>qiskit-machine-learning</code></td><td>0.6.0</td></tr><tr><th>System information</th></tr><tr><td>Python version</td><td>3.9.15</td></tr><tr><td>Python compiler</td><td>Clang 14.0.6 </td></tr><tr><td>Python build</td><td>main, Nov 24 2022 08:29:02</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>8</td></tr><tr><td>Memory (Gb)</td><td>64.0</td></tr><tr><td colspan='2'>Mon Jan 23 11:57:49 2023 CET</td></tr></table>"
+      "text/html": [
+       "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td><code>qiskit-terra</code></td><td>0.22.3</td></tr><tr><td><code>qiskit-machine-learning</code></td><td>0.6.0</td></tr><tr><th>System information</th></tr><tr><td>Python version</td><td>3.9.15</td></tr><tr><td>Python compiler</td><td>Clang 14.0.6 </td></tr><tr><td>Python build</td><td>main, Nov 24 2022 08:29:02</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>8</td></tr><tr><td>Memory (Gb)</td><td>64.0</td></tr><tr><td colspan='2'>Mon Jan 23 11:57:49 2023 CET</td></tr></table>"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
      },
      "metadata": {},
      "output_type": "display_data"
     },
     {
      "data": {
-      "text/plain": "<IPython.core.display.HTML object>",
-      "text/html": "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2023.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
+      "text/html": [
+       "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2023.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
      },
      "metadata": {},
      "output_type": "display_data"
@@ -1040,7 +1056,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1054,7 +1070,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.10.2"
+   "version": "3.8.13"
   }
  },
  "nbformat": 4,
diff --git a/docs/tutorials/02_neural_network_classifier_and_regressor.ipynb b/docs/tutorials/02_neural_network_classifier_and_regressor.ipynb
index d6a6568da..5b4ecd05b 100644
--- a/docs/tutorials/02_neural_network_classifier_and_regressor.ipynb
+++ b/docs/tutorials/02_neural_network_classifier_and_regressor.ipynb
@@ -34,10 +34,10 @@
     "import numpy as np\n",
     "from IPython.display import clear_output\n",
     "from qiskit import QuantumCircuit\n",
-    "from qiskit.algorithms.optimizers import COBYLA, L_BFGS_B\n",
     "from qiskit.circuit import Parameter\n",
     "from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.optimizers import COBYLA, L_BFGS_B\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "from qiskit_machine_learning.algorithms.classifiers import NeuralNetworkClassifier, VQC\n",
     "from qiskit_machine_learning.algorithms.regressors import NeuralNetworkRegressor, VQR\n",
@@ -1168,7 +1168,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1182,7 +1182,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.8"
+   "version": "3.8.13"
   },
   "toc": {
    "base_numbering": 1,
diff --git a/docs/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb b/docs/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb
index 080624ec4..879a19786 100644
--- a/docs/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb
+++ b/docs/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb
@@ -246,7 +246,7 @@
    "outputs": [],
    "source": [
     "from sklearn.model_selection import train_test_split\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "algorithm_globals.random_seed = 123\n",
     "train_features, test_features, train_labels, test_labels = train_test_split(\n",
@@ -409,7 +409,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "from qiskit.algorithms.optimizers import COBYLA\n",
+    "from qiskit_algorithms.optimizers import COBYLA\n",
     "\n",
     "optimizer = COBYLA(maxiter=100)"
    ]
@@ -950,7 +950,7 @@
  "metadata": {
   "celltoolbar": "Tags",
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
diff --git a/docs/tutorials/03_quantum_kernel.ipynb b/docs/tutorials/03_quantum_kernel.ipynb
index 56e38d6ed..f6598c954 100644
--- a/docs/tutorials/03_quantum_kernel.ipynb
+++ b/docs/tutorials/03_quantum_kernel.ipynb
@@ -78,7 +78,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "algorithm_globals.random_seed = 12345"
    ]
@@ -233,7 +233,7 @@
     "\n",
     "1. `feature_map`: in this case, a two-qubit [ZZFeatureMap](https://qiskit.org/documentation/stubs/qiskit.circuit.library.ZZFeatureMap.html).\n",
     "\n",
-    "2. `fidelity`: in this case, the [ComputeUncompute](https://qiskit.org/documentation/stubs/qiskit.algorithms.state_fidelities.ComputeUncompute.html) fidelity subroutine that leverages the [Sampler](https://qiskit.org/documentation/stubs/qiskit.primitives.Sampler.html) primitive.\n",
+    "2. `fidelity`: in this case, the [ComputeUncompute](https://qiskit.org/ecosystem/algorithms/stubs/qiskit_algorithms.state_fidelities.ComputeUncompute.html) fidelity subroutine that leverages the [Sampler](https://qiskit.org/documentation/stubs/qiskit.primitives.Sampler.html) primitive.\n",
     "\n",
     "**NOTE:** If you don't pass a `Sampler` or `Fidelity` instance, then the instances of the reference `Sampler` and `ComputeUncompute` classes (found in `qiskit.primitives`) will be created by default."
    ]
@@ -246,7 +246,7 @@
    "source": [
     "from qiskit.circuit.library import ZZFeatureMap\n",
     "from qiskit.primitives import Sampler\n",
-    "from qiskit.algorithms.state_fidelities import ComputeUncompute\n",
+    "from qiskit_algorithms.state_fidelities import ComputeUncompute\n",
     "from qiskit_machine_learning.kernels import FidelityQuantumKernel\n",
     "\n",
     "adhoc_feature_map = ZZFeatureMap(feature_dimension=adhoc_dimension, reps=2, entanglement=\"linear\")\n",
@@ -926,7 +926,7 @@
  "metadata": {
   "celltoolbar": "Tags",
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -940,7 +940,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.8.13"
   }
  },
  "nbformat": 4,
diff --git a/docs/tutorials/04_torch_qgan.ipynb b/docs/tutorials/04_torch_qgan.ipynb
index 62c39b5fd..62583b12a 100644
--- a/docs/tutorials/04_torch_qgan.ipynb
+++ b/docs/tutorials/04_torch_qgan.ipynb
@@ -85,7 +85,7 @@
    "outputs": [],
    "source": [
     "import torch\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "algorithm_globals.random_seed = 123456\n",
     "_ = torch.manual_seed(123456)  # suppress output"
@@ -769,7 +769,7 @@
  "metadata": {
   "celltoolbar": "Tags",
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -783,7 +783,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.8.13"
   }
  },
  "nbformat": 4,
diff --git a/docs/tutorials/05_torch_connector.ipynb b/docs/tutorials/05_torch_connector.ipynb
index 9bfa9cc67..a54e6b1a7 100644
--- a/docs/tutorials/05_torch_connector.ipynb
+++ b/docs/tutorials/05_torch_connector.ipynb
@@ -45,9 +45,9 @@
     "from torch.optim import LBFGS\n",
     "\n",
     "from qiskit import QuantumCircuit\n",
-    "from qiskit.utils import algorithm_globals\n",
     "from qiskit.circuit import Parameter\n",
     "from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "from qiskit_machine_learning.neural_networks import SamplerQNN, EstimatorQNN\n",
     "from qiskit_machine_learning.connectors import TorchConnector\n",
     "\n",
@@ -1239,7 +1239,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1253,7 +1253,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.8.13"
   },
   "toc": {
    "base_numbering": 1,
diff --git a/docs/tutorials/07_pegasos_qsvc.ipynb b/docs/tutorials/07_pegasos_qsvc.ipynb
index 2f8bf916c..3ca8db2d9 100644
--- a/docs/tutorials/07_pegasos_qsvc.ipynb
+++ b/docs/tutorials/07_pegasos_qsvc.ipynb
@@ -111,7 +111,7 @@
    "source": [
     "from qiskit import BasicAer\n",
     "from qiskit.circuit.library import ZFeatureMap\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "from qiskit_machine_learning.kernels import FidelityQuantumKernel\n",
     "\n",
@@ -322,7 +322,7 @@
  "metadata": {
   "celltoolbar": "Tags",
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -336,7 +336,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.9"
+   "version": "3.8.13"
   }
  },
  "nbformat": 4,
diff --git a/docs/tutorials/08_quantum_kernel_trainer.ipynb b/docs/tutorials/08_quantum_kernel_trainer.ipynb
index 527959f64..ed2dbbb6b 100644
--- a/docs/tutorials/08_quantum_kernel_trainer.ipynb
+++ b/docs/tutorials/08_quantum_kernel_trainer.ipynb
@@ -45,8 +45,8 @@
     "from qiskit import QuantumCircuit\n",
     "from qiskit.circuit import ParameterVector\n",
     "from qiskit.visualization import circuit_drawer\n",
-    "from qiskit.algorithms.optimizers import SPSA\n",
     "from qiskit.circuit.library import ZZFeatureMap\n",
+    "from qiskit_algorithms.optimizers import SPSA\n",
     "from qiskit_machine_learning.kernels import TrainableFidelityQuantumKernel\n",
     "from qiskit_machine_learning.kernels.algorithms import QuantumKernelTrainer\n",
     "from qiskit_machine_learning.algorithms import QSVC\n",
@@ -420,7 +420,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -434,7 +434,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.8.13"
   },
   "rise": {
    "height": "90%",
diff --git a/docs/tutorials/09_saving_and_loading_models.ipynb b/docs/tutorials/09_saving_and_loading_models.ipynb
index d04e29ddd..d0645a71e 100644
--- a/docs/tutorials/09_saving_and_loading_models.ipynb
+++ b/docs/tutorials/09_saving_and_loading_models.ipynb
@@ -35,10 +35,10 @@
    "source": [
     "import matplotlib.pyplot as plt\n",
     "import numpy as np\n",
-    "from qiskit.algorithms.optimizers import COBYLA\n",
     "from qiskit.circuit.library import RealAmplitudes\n",
     "from qiskit.primitives import Sampler\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.optimizers import COBYLA\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "from sklearn.model_selection import train_test_split\n",
     "from sklearn.preprocessing import OneHotEncoder, MinMaxScaler\n",
     "\n",
diff --git a/docs/tutorials/10_effective_dimension.ipynb b/docs/tutorials/10_effective_dimension.ipynb
index cd50c1872..d0faaca70 100644
--- a/docs/tutorials/10_effective_dimension.ipynb
+++ b/docs/tutorials/10_effective_dimension.ipynb
@@ -72,9 +72,9 @@
     "import numpy as np\n",
     "from IPython.display import clear_output\n",
     "from qiskit import QuantumCircuit\n",
-    "from qiskit.algorithms.optimizers import COBYLA\n",
     "from qiskit.circuit.library import ZFeatureMap, RealAmplitudes\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.optimizers import COBYLA\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "from sklearn.datasets import make_classification\n",
     "from sklearn.preprocessing import MinMaxScaler\n",
     "\n",
@@ -757,7 +757,7 @@
  "metadata": {
   "celltoolbar": "Tags",
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -771,7 +771,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.8"
+   "version": "3.8.13"
   }
  },
  "nbformat": 4,
diff --git a/docs/tutorials/11_quantum_convolutional_neural_networks.ipynb b/docs/tutorials/11_quantum_convolutional_neural_networks.ipynb
index 5b8cff8d3..719b0952d 100644
--- a/docs/tutorials/11_quantum_convolutional_neural_networks.ipynb
+++ b/docs/tutorials/11_quantum_convolutional_neural_networks.ipynb
@@ -48,11 +48,11 @@
     "import numpy as np\n",
     "from IPython.display import clear_output\n",
     "from qiskit import QuantumCircuit\n",
-    "from qiskit.algorithms.optimizers import COBYLA\n",
     "from qiskit.circuit import ParameterVector\n",
     "from qiskit.circuit.library import ZFeatureMap\n",
     "from qiskit.quantum_info import SparsePauliOp\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.optimizers import COBYLA\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "from qiskit_machine_learning.algorithms.classifiers import NeuralNetworkClassifier\n",
     "from qiskit_machine_learning.neural_networks import EstimatorQNN\n",
     "from sklearn.model_selection import train_test_split\n",
@@ -1022,7 +1022,7 @@
  "metadata": {
   "celltoolbar": "Tags",
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1036,7 +1036,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.8.13"
   },
   "vscode": {
    "interpreter": {
diff --git a/docs/tutorials/12_quantum_autoencoder.ipynb b/docs/tutorials/12_quantum_autoencoder.ipynb
index b2d92903f..3d639659b 100644
--- a/docs/tutorials/12_quantum_autoencoder.ipynb
+++ b/docs/tutorials/12_quantum_autoencoder.ipynb
@@ -268,10 +268,10 @@
     "from IPython.display import clear_output\n",
     "from qiskit import ClassicalRegister, QuantumRegister\n",
     "from qiskit import QuantumCircuit\n",
-    "from qiskit.algorithms.optimizers import COBYLA\n",
     "from qiskit.circuit.library import RealAmplitudes\n",
     "from qiskit.quantum_info import Statevector\n",
-    "from qiskit.utils import algorithm_globals\n",
+    "from qiskit_algorithms.optimizers import COBYLA\n",
+    "from qiskit_algorithms.utils import algorithm_globals\n",
     "\n",
     "from qiskit_machine_learning.circuit.library import RawFeatureVector\n",
     "from qiskit_machine_learning.neural_networks import SamplerQNN\n",
@@ -1186,7 +1186,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1200,7 +1200,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.8.13"
   }
  },
  "nbformat": 4,
diff --git a/qiskit_machine_learning/__init__.py b/qiskit_machine_learning/__init__.py
index 69edcfbf6..ad23f2a8b 100644
--- a/qiskit_machine_learning/__init__.py
+++ b/qiskit_machine_learning/__init__.py
@@ -17,10 +17,9 @@
 
 .. currentmodule:: qiskit_machine_learning
 
-This is the Qiskit Machine Learning module. There is an initial set of function here that
-will be built out over time. At present, it has sample sets that can be used with
-:mod:`~qiskit_machine_learning.algorithms.classifiers` and circuits used in machine learning
-applications.
+Qiskit Machine Learning is an ML framework that comes with essential tools like quantum kernels and
+quantum neural networks. These tools are the building blocks of the framework and can be used for
+building and training classification, regression, and other models.
 
 .. autosummary::
    :toctree: ../stubs/
diff --git a/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.py b/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.py
index ca9d7fb66..096b64301 100644
--- a/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.py
+++ b/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.py
@@ -17,7 +17,7 @@
 
 import numpy as np
 import scipy.sparse
-from qiskit.algorithms.optimizers import Optimizer, OptimizerResult, Minimizer
+from qiskit_algorithms.optimizers import Optimizer, OptimizerResult, Minimizer
 from scipy.sparse import spmatrix
 from sklearn.base import ClassifierMixin
 from sklearn.exceptions import NotFittedError
@@ -76,9 +76,9 @@ def __init__(
                 loss). In case of a one-dimensional categorical output, this option determines how
                 to encode the target data (i.e. one-hot or integer encoding).
             optimizer: An instance of an optimizer or a callable to be used in training.
-                Refer to :class:`~qiskit.algorithms.optimizers.Minimizer` for more information on
+                Refer to  :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on
                 the callable protocol. When `None` defaults to
-                :class:`~qiskit.algorithms.optimizers.SLSQP`.
+                :class:`~qiskit_algorithms.optimizers.SLSQP`.
             warm_start: Use weights from previous fit to start next fit.
             initial_point: Initial point for the optimizer to start from.
             callback: a reference to a user's callback function that has two parameters and
diff --git a/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.py b/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.py
index 0ae44a74e..b207a1dfd 100644
--- a/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.py
+++ b/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.py
@@ -18,7 +18,7 @@
 from typing import Dict
 
 import numpy as np
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from sklearn.base import ClassifierMixin
 
 from ...algorithms.serializable_model import SerializableModelMixin
diff --git a/qiskit_machine_learning/algorithms/classifiers/qsvc.py b/qiskit_machine_learning/algorithms/classifiers/qsvc.py
index c94845602..7846bc4bf 100644
--- a/qiskit_machine_learning/algorithms/classifiers/qsvc.py
+++ b/qiskit_machine_learning/algorithms/classifiers/qsvc.py
@@ -15,7 +15,7 @@
 import warnings
 from typing import Optional
 
-from qiskit.utils.algorithm_globals import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from sklearn.svm import SVC
 
 from qiskit_machine_learning.algorithms.serializable_model import SerializableModelMixin
diff --git a/qiskit_machine_learning/algorithms/classifiers/vqc.py b/qiskit_machine_learning/algorithms/classifiers/vqc.py
index f20372bbb..6ed366968 100644
--- a/qiskit_machine_learning/algorithms/classifiers/vqc.py
+++ b/qiskit_machine_learning/algorithms/classifiers/vqc.py
@@ -17,8 +17,8 @@
 import numpy as np
 
 from qiskit import QuantumCircuit
-from qiskit.algorithms.optimizers import Optimizer, OptimizerResult, Minimizer
 from qiskit.primitives import BaseSampler
+from qiskit_algorithms.optimizers import Optimizer, OptimizerResult, Minimizer
 
 from ...neural_networks import SamplerQNN
 from ...utils import derive_num_qubits_feature_map_ansatz
@@ -72,9 +72,9 @@ def __init__(
                 QNN. If ``None`` is given then the ``RealAmplitudes`` circuit is used.
             loss: A target loss function to be used in training. Default value is ``cross_entropy``.
             optimizer: An instance of an optimizer or a callable to be used in training.
-                Refer to :class:`~qiskit.algorithms.optimizers.Minimizer` for more information on
+                Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on
                 the callable protocol. When `None` defaults to
-                :class:`~qiskit.algorithms.optimizers.SLSQP`.
+                :class:`~qiskit_algorithms.optimizers.SLSQP`.
             warm_start: Use weights from previous fit to start next fit.
             initial_point: Initial point for the optimizer to start from.
             callback: a reference to a user's callback function that has two parameters and
diff --git a/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.py b/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.py
index de87e568c..428c0ed5f 100644
--- a/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.py
+++ b/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.py
@@ -14,7 +14,7 @@
 from typing import Optional
 
 import numpy as np
-from qiskit.algorithms.optimizers import OptimizerResult
+from qiskit_algorithms.optimizers import OptimizerResult
 from sklearn.base import RegressorMixin
 
 from ..objective_functions import (
diff --git a/qiskit_machine_learning/algorithms/regressors/vqr.py b/qiskit_machine_learning/algorithms/regressors/vqr.py
index 8ea343d87..b33d2930d 100644
--- a/qiskit_machine_learning/algorithms/regressors/vqr.py
+++ b/qiskit_machine_learning/algorithms/regressors/vqr.py
@@ -16,9 +16,9 @@
 
 import numpy as np
 from qiskit import QuantumCircuit
-from qiskit.algorithms.optimizers import Optimizer, Minimizer
 from qiskit.primitives import BaseEstimator
 from qiskit.quantum_info.operators.base_operator import BaseOperator
+from qiskit_algorithms.optimizers import Optimizer, Minimizer
 
 from .neural_network_regressor import NeuralNetworkRegressor
 from ...neural_networks import EstimatorQNN
@@ -61,9 +61,9 @@ def __init__(
                 use the default :math:`Z^{\otimes num\_qubits}` observable.
             loss: A target loss function to be used in training. Default is squared error.
             optimizer: An instance of an optimizer or a callable to be used in training.
-                Refer to :class:`~qiskit.algorithms.optimizers.Minimizer` for more information on
+                Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on
                 the callable protocol. When `None` defaults to
-                :class:`~qiskit.algorithms.optimizers.SLSQP`.
+                :class:`~qiskit_algorithms.optimizers.SLSQP`.
             warm_start: Use weights from previous fit to start next fit.
             initial_point: Initial point for the optimizer to start from.
             callback: A reference to a user's callback function that has two parameters and
diff --git a/qiskit_machine_learning/algorithms/trainable_model.py b/qiskit_machine_learning/algorithms/trainable_model.py
index cf4006d41..5e7965bf8 100644
--- a/qiskit_machine_learning/algorithms/trainable_model.py
+++ b/qiskit_machine_learning/algorithms/trainable_model.py
@@ -16,8 +16,8 @@
 from typing import Callable
 
 import numpy as np
-from qiskit.algorithms.optimizers import Optimizer, SLSQP, OptimizerResult, Minimizer
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.optimizers import Optimizer, SLSQP, OptimizerResult, Minimizer
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning import QiskitMachineLearningError
 from qiskit_machine_learning.neural_networks import NeuralNetwork
@@ -61,9 +61,9 @@ def __init__(
                 'squared_error', 'cross_entropy', or as a loss function
                 implementing the Loss interface.
             optimizer: An instance of an optimizer or a callable to be used in training.
-                Refer to :class:`~qiskit.algorithms.optimizers.Minimizer` for more information on
+                Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on
                 the callable protocol. When `None` defaults to
-                :class:`~qiskit.algorithms.optimizers.SLSQP`.
+                :class:`~qiskit_algorithms.optimizers.SLSQP`.
             warm_start: Use weights from previous fit to start next fit.
             initial_point: Initial point for the optimizer to start from.
             callback: A reference to a user's callback function that has two parameters and
@@ -155,7 +155,7 @@ def weights(self) -> np.ndarray:
     def fit_result(self) -> OptimizerResult:
         """Returns a resulting object from the optimization procedure. Please refer to the
         documentation of the `OptimizerResult
-        <https://qiskit.org/documentation/stubs/qiskit.algorithms.optimizers.OptimizerResult.html>`_
+        <https://qiskit.org/documentation/stubs/qiskit_algorithms.optimizers.OptimizerResult.html>`_
         class for more details.
 
         Raises:
diff --git a/qiskit_machine_learning/datasets/ad_hoc.py b/qiskit_machine_learning/datasets/ad_hoc.py
index 817fb1f45..de4ee25e3 100644
--- a/qiskit_machine_learning/datasets/ad_hoc.py
+++ b/qiskit_machine_learning/datasets/ad_hoc.py
@@ -20,7 +20,8 @@
 from typing import Tuple, Dict, List
 
 import numpy as np
-from qiskit.utils import algorithm_globals, optionals
+from qiskit.utils import optionals
+from qiskit_algorithms.utils import algorithm_globals
 from sklearn import preprocessing
 
 
diff --git a/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.py b/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.py
index d96bf9387..8dc172ba4 100644
--- a/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.py
+++ b/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.py
@@ -19,9 +19,9 @@
 
 import numpy as np
 
-from qiskit.utils.algorithm_globals import algorithm_globals
-from qiskit.algorithms.optimizers import Optimizer, SPSA, Minimizer
-from qiskit.algorithms.variational_algorithm import VariationalResult
+from qiskit_algorithms.optimizers import Optimizer, SPSA, Minimizer
+from qiskit_algorithms.utils import algorithm_globals
+from qiskit_algorithms.variational_algorithm import VariationalResult
 from qiskit_machine_learning.utils.loss_functions import KernelLoss, SVCLoss
 
 from qiskit_machine_learning.kernels import TrainableKernel
@@ -102,12 +102,12 @@ def __init__(
                 passed as the loss function, then the underlying
                 :class:`~qiskit_machine_learning.utils.loss_functions.SVCLoss` object will exhibit
                 default behavior.
-            optimizer: An instance of :class:`~qiskit.algorithms.optimizers.Optimizer` or a
+            optimizer: An instance of :class:`~qiskit_algorithms.optimizers.Optimizer` or a
                 callable to be used in training. Refer to
-                :class:`~qiskit.algorithms.optimizers.Minimizer` for more information on the
+                :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on the
                 callable protocol. Since no analytical gradient is defined for kernel loss
                 functions, gradient-based optimizers are not recommended for training kernels. When
-                `None` defaults to :class:`~qiskit.algorithms.optimizers.SPSA`.
+                `None` defaults to :class:`~qiskit_algorithms.optimizers.SPSA`.
             initial_point: Initial point from which the optimizer will begin.
 
         Raises:
diff --git a/qiskit_machine_learning/kernels/fidelity_quantum_kernel.py b/qiskit_machine_learning/kernels/fidelity_quantum_kernel.py
index c4b505396..ddca88936 100644
--- a/qiskit_machine_learning/kernels/fidelity_quantum_kernel.py
+++ b/qiskit_machine_learning/kernels/fidelity_quantum_kernel.py
@@ -18,8 +18,8 @@
 
 import numpy as np
 from qiskit import QuantumCircuit
-from qiskit.algorithms.state_fidelities import BaseStateFidelity, ComputeUncompute
 from qiskit.primitives import Sampler
+from qiskit_algorithms.state_fidelities import BaseStateFidelity, ComputeUncompute
 
 from .base_kernel import BaseKernel
 
@@ -29,7 +29,7 @@
 class FidelityQuantumKernel(BaseKernel):
     r"""
     An implementation of the quantum kernel interface based on the
-    :class:`~qiskit.algorithms.state_fidelities.BaseStateFidelity` algorithm.
+    :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` algorithm.
 
     Here, the kernel function is defined as the overlap of two quantum states defined by a
     parametrized quantum circuit (called feature map):
@@ -55,9 +55,9 @@ def __init__(
                 in the dataset, then the kernel will try to adjust the feature map to reflect the
                 number of features.
             fidelity: An instance of the
-                :class:`~qiskit.algorithms.state_fidelities.BaseStateFidelity` primitive to be used
+                :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` primitive to be used
                 to compute fidelity between states. Default is
-                :class:`~qiskit.algorithms.state_fidelities.ComputeUncompute` which is created on
+                :class:`~qiskit_algorithms.state_fidelities.ComputeUncompute` which is created on
                 top of the reference sampler defined by :class:`~qiskit.primitives.Sampler`.
             enforce_psd: Project to the closest positive semidefinite matrix if ``x = y``.
                 Default ``True``.
diff --git a/qiskit_machine_learning/kernels/fidelity_statevector_kernel.py b/qiskit_machine_learning/kernels/fidelity_statevector_kernel.py
index 8d9935ff0..0c26d7b66 100644
--- a/qiskit_machine_learning/kernels/fidelity_statevector_kernel.py
+++ b/qiskit_machine_learning/kernels/fidelity_statevector_kernel.py
@@ -20,7 +20,7 @@
 
 from qiskit import QuantumCircuit
 from qiskit.quantum_info import Statevector
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 
 
 from .base_kernel import BaseKernel
diff --git a/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.py b/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.py
index eb26b7cf6..92d75c5f3 100644
--- a/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.py
+++ b/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.py
@@ -18,8 +18,8 @@
 
 import numpy as np
 from qiskit import QuantumCircuit
-from qiskit.algorithms.state_fidelities import BaseStateFidelity
 from qiskit.circuit import Parameter, ParameterVector
+from qiskit_algorithms.state_fidelities import BaseStateFidelity
 
 from .fidelity_quantum_kernel import FidelityQuantumKernel, KernelIndices
 from .trainable_kernel import TrainableKernel
@@ -28,7 +28,7 @@
 class TrainableFidelityQuantumKernel(TrainableKernel, FidelityQuantumKernel):
     r"""
     An implementation of the quantum kernel that is based on the
-    :class:`~qiskit.algorithms.state_fidelities.BaseStateFidelity` algorithm and provides ability to
+    :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` algorithm and provides ability to
     train it.
 
     Finding good quantum kernels for a specific machine learning task is a big challenge in quantum
@@ -60,9 +60,9 @@ def __init__(
                 in the dataset, then the kernel will try to adjust the feature map to reflect the
                 number of features.
             fidelity: An instance of the
-                :class:`~qiskit.algorithms.state_fidelities.BaseStateFidelity` primitive to be used
+                :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` primitive to be used
                 to compute fidelity between states. Default is
-                :class:`~qiskit.algorithms.state_fidelities.ComputeUncompute` which is created on
+                :class:`~qiskit_algorithms.state_fidelities.ComputeUncompute` which is created on
                 top of the reference sampler defined by :class:`~qiskit.primitives.Sampler`.
             training_parameters: Iterable containing :class:`~qiskit.circuit.Parameter` objects
                 which correspond to quantum gates on the feature map circuit which may be tuned.
diff --git a/qiskit_machine_learning/neural_networks/effective_dimension.py b/qiskit_machine_learning/neural_networks/effective_dimension.py
index 8e869d8bb..2b2013433 100644
--- a/qiskit_machine_learning/neural_networks/effective_dimension.py
+++ b/qiskit_machine_learning/neural_networks/effective_dimension.py
@@ -18,7 +18,7 @@
 import numpy as np
 from scipy.special import logsumexp
 
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from qiskit_machine_learning import QiskitMachineLearningError
 from .estimator_qnn import EstimatorQNN
 from .neural_network import NeuralNetwork
diff --git a/qiskit_machine_learning/neural_networks/estimator_qnn.py b/qiskit_machine_learning/neural_networks/estimator_qnn.py
index 85d00d9c8..17997a578 100644
--- a/qiskit_machine_learning/neural_networks/estimator_qnn.py
+++ b/qiskit_machine_learning/neural_networks/estimator_qnn.py
@@ -19,15 +19,15 @@
 from typing import Sequence
 
 import numpy as np
-from qiskit.algorithms.gradients import (
-    BaseEstimatorGradient,
-    EstimatorGradientResult,
-    ParamShiftEstimatorGradient,
-)
 from qiskit.circuit import Parameter, QuantumCircuit
 from qiskit.primitives import BaseEstimator, Estimator, EstimatorResult
 from qiskit.quantum_info import SparsePauliOp
 from qiskit.quantum_info.operators.base_operator import BaseOperator
+from qiskit_algorithms.gradients import (
+    BaseEstimatorGradient,
+    EstimatorGradientResult,
+    ParamShiftEstimatorGradient,
+)
 
 from qiskit_machine_learning.circuit.library import QNNCircuit
 from qiskit_machine_learning.exceptions import QiskitMachineLearningError
@@ -136,7 +136,7 @@ def __init__(
                 :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` weight_parameters.
             gradient: The estimator gradient to be used for the backward pass.
                 If None, a default instance of the estimator gradient,
-                :class:`~qiskit.algorithms.gradients.ParamShiftEstimatorGradient`, will be used.
+                :class:`~qiskit_algorithms.gradients.ParamShiftEstimatorGradient`, will be used.
             input_gradients: Determines whether to compute gradients with respect to input data.
                 Note that this parameter is ``False`` by default, and must be explicitly set to
                 ``True`` for a proper gradient computation when using
diff --git a/qiskit_machine_learning/neural_networks/sampler_qnn.py b/qiskit_machine_learning/neural_networks/sampler_qnn.py
index 6822be440..1e44acd35 100644
--- a/qiskit_machine_learning/neural_networks/sampler_qnn.py
+++ b/qiskit_machine_learning/neural_networks/sampler_qnn.py
@@ -19,13 +19,14 @@
 from typing import Callable, cast, Iterable, Sequence
 
 import numpy as np
-from qiskit.algorithms.gradients import (
+from qiskit.circuit import Parameter, QuantumCircuit
+from qiskit.primitives import BaseSampler, SamplerResult, Sampler
+from qiskit_algorithms.gradients import (
     BaseSamplerGradient,
     ParamShiftSamplerGradient,
     SamplerGradientResult,
 )
-from qiskit.circuit import Parameter, QuantumCircuit
-from qiskit.primitives import BaseSampler, SamplerResult, Sampler
+
 from qiskit_machine_learning.circuit.library import QNNCircuit
 from qiskit_machine_learning.exceptions import QiskitMachineLearningError
 import qiskit_machine_learning.optionals as _optionals
@@ -163,7 +164,7 @@ def __init__(
                 ``2^circuit.num_qubits``.
             gradient: An optional sampler gradient to be used for the backward pass.
                 If ``None`` is given, a default instance of
-                :class:`~qiskit.algorithms.gradients.ParamShiftSamplerGradient` will be used.
+                :class:`~qiskit_algorithms.gradients.ParamShiftSamplerGradient` will be used.
             input_gradients: Determines whether to compute gradients with respect to input data.
                  Note that this parameter is ``False`` by default, and must be explicitly set to
                  ``True`` for a proper gradient computation when using
diff --git a/releasenotes/notes/migrate-algorithms-d96866989800aa91.yaml b/releasenotes/notes/migrate-algorithms-d96866989800aa91.yaml
new file mode 100644
index 000000000..c02eeee77
--- /dev/null
+++ b/releasenotes/notes/migrate-algorithms-d96866989800aa91.yaml
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    The module is migrated to `Qiskit Algorithms <https://qiskit.org/ecosystem/algorithms>`__
+    from the `qiskit.algorithms` package that is deprecated now.
diff --git a/requirements.txt b/requirements.txt
index f1b058ff8..bf8f50e3b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,5 @@
 qiskit>=0.44
+qiskit-algorithms>=0.2.0
 scipy>=1.4
 numpy>=1.17
 psutil>=5


Test patch:
diff --git a/test/algorithms/classifiers/test_fidelity_quantum_kernel_pegasos_qsvc.py b/test/algorithms/classifiers/test_fidelity_quantum_kernel_pegasos_qsvc.py
index 96d65913a..9f4ef4d8d 100644
--- a/test/algorithms/classifiers/test_fidelity_quantum_kernel_pegasos_qsvc.py
+++ b/test/algorithms/classifiers/test_fidelity_quantum_kernel_pegasos_qsvc.py
@@ -19,7 +19,7 @@
 
 import numpy as np
 from qiskit.circuit.library import ZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from sklearn.datasets import make_blobs
 from sklearn.preprocessing import MinMaxScaler
 
diff --git a/test/algorithms/classifiers/test_fidelity_quantum_kernel_qsvc.py b/test/algorithms/classifiers/test_fidelity_quantum_kernel_qsvc.py
index dae02ee5d..7d4003799 100644
--- a/test/algorithms/classifiers/test_fidelity_quantum_kernel_qsvc.py
+++ b/test/algorithms/classifiers/test_fidelity_quantum_kernel_qsvc.py
@@ -19,7 +19,7 @@
 
 import numpy as np
 from qiskit.circuit.library import ZZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.algorithms import QSVC, SerializableModelMixin
 from qiskit_machine_learning.exceptions import QiskitMachineLearningWarning
diff --git a/test/algorithms/classifiers/test_neural_network_classifier.py b/test/algorithms/classifiers/test_neural_network_classifier.py
index 3a30d4d7a..532d35421 100644
--- a/test/algorithms/classifiers/test_neural_network_classifier.py
+++ b/test/algorithms/classifiers/test_neural_network_classifier.py
@@ -24,10 +24,10 @@
 import numpy as np
 import scipy
 from ddt import ddt, data, idata, unpack
-from qiskit.algorithms.optimizers import COBYLA, L_BFGS_B, SPSA, Optimizer
 from qiskit.circuit import QuantumCircuit
 from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap
-from qiskit.utils import algorithm_globals, optionals
+from qiskit_algorithms.optimizers import COBYLA, L_BFGS_B, SPSA, Optimizer
+from qiskit_algorithms.utils import algorithm_globals
 from scipy.optimize import minimize
 
 from qiskit_machine_learning.algorithms import SerializableModelMixin
@@ -51,7 +51,6 @@ def _one_hot_encode(y: np.ndarray) -> np.ndarray:
 class TestNeuralNetworkClassifier(QiskitMachineLearningTestCase):
     """Neural Network Classifier Tests."""
 
-    @unittest.skipUnless(optionals.HAS_AER, "qiskit-aer is required to run this test")
     def setUp(self):
         super().setUp()
 
diff --git a/test/algorithms/classifiers/test_pegasos_qsvc.py b/test/algorithms/classifiers/test_pegasos_qsvc.py
index 6fcb80fea..622095b73 100644
--- a/test/algorithms/classifiers/test_pegasos_qsvc.py
+++ b/test/algorithms/classifiers/test_pegasos_qsvc.py
@@ -19,7 +19,7 @@
 
 import numpy as np
 from qiskit.circuit.library import ZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from sklearn.datasets import make_blobs
 from sklearn.preprocessing import MinMaxScaler
 
diff --git a/test/algorithms/classifiers/test_qsvc.py b/test/algorithms/classifiers/test_qsvc.py
index 243e81f8a..73fb83195 100644
--- a/test/algorithms/classifiers/test_qsvc.py
+++ b/test/algorithms/classifiers/test_qsvc.py
@@ -20,7 +20,7 @@
 import numpy as np
 
 from qiskit.circuit.library import ZZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from qiskit_machine_learning.algorithms import QSVC, SerializableModelMixin
 from qiskit_machine_learning.kernels import FidelityQuantumKernel
 from qiskit_machine_learning.exceptions import (
diff --git a/test/algorithms/classifiers/test_vqc.py b/test/algorithms/classifiers/test_vqc.py
index d74df0d4a..4c80bd216 100644
--- a/test/algorithms/classifiers/test_vqc.py
+++ b/test/algorithms/classifiers/test_vqc.py
@@ -28,9 +28,9 @@
 from sklearn.preprocessing import MinMaxScaler, OneHotEncoder
 
 from qiskit import QuantumCircuit
-from qiskit.algorithms.optimizers import COBYLA, L_BFGS_B
 from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap, ZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.optimizers import COBYLA, L_BFGS_B
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.algorithms import VQC
 from qiskit_machine_learning.exceptions import QiskitMachineLearningError
diff --git a/test/algorithms/regressors/test_fidelity_quantum_kernel_qsvr.py b/test/algorithms/regressors/test_fidelity_quantum_kernel_qsvr.py
index 5cb07a571..67bbc2ee0 100644
--- a/test/algorithms/regressors/test_fidelity_quantum_kernel_qsvr.py
+++ b/test/algorithms/regressors/test_fidelity_quantum_kernel_qsvr.py
@@ -20,7 +20,7 @@
 import numpy as np
 from qiskit.circuit.library import ZZFeatureMap
 from qiskit.primitives import Sampler
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.algorithms import QSVR, SerializableModelMixin
 from qiskit_machine_learning.exceptions import QiskitMachineLearningWarning
diff --git a/test/algorithms/regressors/test_neural_network_regressor.py b/test/algorithms/regressors/test_neural_network_regressor.py
index 5e6acdcb0..75eb1dfcc 100644
--- a/test/algorithms/regressors/test_neural_network_regressor.py
+++ b/test/algorithms/regressors/test_neural_network_regressor.py
@@ -22,10 +22,10 @@
 
 import numpy as np
 from ddt import ddt, unpack, idata
-from qiskit.algorithms.optimizers import COBYLA, L_BFGS_B, SPSA
 from qiskit.circuit import Parameter, QuantumCircuit
 from qiskit.circuit.library import ZZFeatureMap, RealAmplitudes
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.optimizers import COBYLA, L_BFGS_B, SPSA
+from qiskit_algorithms.utils import algorithm_globals
 from scipy.optimize import minimize
 
 from qiskit_machine_learning import QiskitMachineLearningError
diff --git a/test/algorithms/regressors/test_qsvr.py b/test/algorithms/regressors/test_qsvr.py
index 442dedb5a..991ca1db3 100644
--- a/test/algorithms/regressors/test_qsvr.py
+++ b/test/algorithms/regressors/test_qsvr.py
@@ -20,7 +20,7 @@
 import numpy as np
 
 from qiskit.circuit.library import ZZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from qiskit_machine_learning.algorithms import QSVR, SerializableModelMixin
 from qiskit_machine_learning.exceptions import QiskitMachineLearningWarning
 from qiskit_machine_learning.kernels import FidelityQuantumKernel
diff --git a/test/algorithms/regressors/test_vqr.py b/test/algorithms/regressors/test_vqr.py
index 0f69341f4..3fe16683b 100644
--- a/test/algorithms/regressors/test_vqr.py
+++ b/test/algorithms/regressors/test_vqr.py
@@ -16,11 +16,11 @@
 
 import numpy as np
 from ddt import data, ddt
-from qiskit.algorithms.optimizers import COBYLA, L_BFGS_B
 from qiskit.circuit import Parameter, QuantumCircuit
 from qiskit.circuit.library import ZZFeatureMap, RealAmplitudes
 from qiskit.primitives import Estimator
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.optimizers import COBYLA, L_BFGS_B
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.algorithms import VQR
 
diff --git a/test/circuit/library/test_raw_feature_vector.py b/test/circuit/library/test_raw_feature_vector.py
index 72263c43f..6763067e0 100644
--- a/test/circuit/library/test_raw_feature_vector.py
+++ b/test/circuit/library/test_raw_feature_vector.py
@@ -18,12 +18,12 @@
 
 import numpy as np
 import qiskit
-from qiskit.algorithms.optimizers import COBYLA
 from qiskit.circuit import QuantumCircuit
 from qiskit.circuit.library import RealAmplitudes
 from qiskit.exceptions import QiskitError
 from qiskit.quantum_info import Statevector
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.optimizers import COBYLA
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.algorithms import VQC
 from qiskit_machine_learning.circuit.library import RawFeatureVector
diff --git a/test/connectors/test_torch.py b/test/connectors/test_torch.py
index 75f74a3c5..f82558445 100644
--- a/test/connectors/test_torch.py
+++ b/test/connectors/test_torch.py
@@ -15,7 +15,7 @@
 import unittest
 import builtins
 from abc import ABC, abstractmethod
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 import qiskit_machine_learning.optionals as _optionals
 
 
diff --git a/test/datasets/test_ad_hoc_data.py b/test/datasets/test_ad_hoc_data.py
index ca39d78f3..cb6392039 100644
--- a/test/datasets/test_ad_hoc_data.py
+++ b/test/datasets/test_ad_hoc_data.py
@@ -20,7 +20,7 @@
 import numpy as np
 from ddt import ddt, unpack, idata
 
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from qiskit_machine_learning.datasets import ad_hoc_data
 
 
diff --git a/test/kernels/algorithms/test_fidelity_qkernel_trainer.py b/test/kernels/algorithms/test_fidelity_qkernel_trainer.py
index 92e6329fb..f324da78c 100644
--- a/test/kernels/algorithms/test_fidelity_qkernel_trainer.py
+++ b/test/kernels/algorithms/test_fidelity_qkernel_trainer.py
@@ -23,7 +23,7 @@
 from qiskit import QuantumCircuit
 from qiskit.circuit import Parameter, ParameterVector
 from qiskit.circuit.library import ZZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 from scipy.optimize import minimize
 
 from qiskit_machine_learning.algorithms.classifiers import QSVC
diff --git a/test/kernels/test_fidelity_qkernel.py b/test/kernels/test_fidelity_qkernel.py
index 70ddd0615..047b623dc 100644
--- a/test/kernels/test_fidelity_qkernel.py
+++ b/test/kernels/test_fidelity_qkernel.py
@@ -23,15 +23,15 @@
 import numpy as np
 from ddt import ddt, idata, unpack
 from qiskit import QuantumCircuit
-from qiskit.algorithms.state_fidelities import (
+from qiskit.circuit import Parameter
+from qiskit.circuit.library import ZFeatureMap
+from qiskit.primitives import Sampler
+from qiskit_algorithms.utils import algorithm_globals
+from qiskit_algorithms.state_fidelities import (
     ComputeUncompute,
     BaseStateFidelity,
     StateFidelityResult,
 )
-from qiskit.circuit import Parameter
-from qiskit.circuit.library import ZFeatureMap
-from qiskit.primitives import Sampler
-from qiskit.utils import algorithm_globals
 from sklearn.svm import SVC
 
 from qiskit_machine_learning.kernels import FidelityQuantumKernel
diff --git a/test/kernels/test_fidelity_statevector_kernel.py b/test/kernels/test_fidelity_statevector_kernel.py
index f15b396b8..2c5b81c8a 100644
--- a/test/kernels/test_fidelity_statevector_kernel.py
+++ b/test/kernels/test_fidelity_statevector_kernel.py
@@ -27,7 +27,8 @@
 from qiskit import QuantumCircuit
 from qiskit.circuit import Parameter
 from qiskit.circuit.library import ZFeatureMap
-from qiskit.utils import algorithm_globals, optionals
+from qiskit.utils import optionals
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.kernels import FidelityStatevectorKernel
 
diff --git a/test/neural_networks/test_effective_dimension.py b/test/neural_networks/test_effective_dimension.py
index 5e2a3fc50..c304df0b3 100644
--- a/test/neural_networks/test_effective_dimension.py
+++ b/test/neural_networks/test_effective_dimension.py
@@ -20,7 +20,7 @@
 
 from qiskit.circuit import QuantumCircuit
 from qiskit.circuit.library import ZFeatureMap, RealAmplitudes
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.neural_networks import (
     EffectiveDimension,
diff --git a/test/neural_networks/test_sampler_qnn.py b/test/neural_networks/test_sampler_qnn.py
index 593c2c30f..219b6c567 100644
--- a/test/neural_networks/test_sampler_qnn.py
+++ b/test/neural_networks/test_sampler_qnn.py
@@ -24,7 +24,7 @@
 from qiskit.circuit import Parameter, QuantumCircuit
 from qiskit.primitives import Sampler
 from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap
-from qiskit.utils import algorithm_globals
+from qiskit_algorithms.utils import algorithm_globals
 
 from qiskit_machine_learning.circuit.library import QNNCircuit
 from qiskit_machine_learning.neural_networks.sampler_qnn import SamplerQNN