Qiskit Algorithms

raw JSON →
0.4.0 verified Fri May 01 auth: no python

A library of quantum computing algorithms for variational quantum eigensolvers (VQE), quantum phase estimation (QPE), Grover's search, amplitude estimation, and more. Current version 0.4.0 supports Qiskit 2.x and PrimitivesV2. Release cadence is approximately every 2-4 months.

pip install qiskit-algorithms
error ModuleNotFoundError: No module named 'qiskit.algorithms'
cause Qiskit 1.0+ removed the algorithms module. Use the standalone package.
fix
pip install qiskit-algorithms, then change imports to from qiskit_algorithms import ...
error TypeError: VQE.__init__() got an unexpected keyword argument 'ansatz'
cause In qiskit-algorithms 0.3+, the VQE constructor changed: use `estimator` and `optimizer` keyword, not `ansatz` directly.
fix
Use VQE(estimator, ansatz, optimizer) with required positional arguments: VQE(estimator, ansatz, optimizer). Check docs for correct signature.
error AttributeError: module 'qiskit_algorithms' has no attribute 'NumPyMinimumEigensolver'
cause Some algorithms moved to submodules in later versions.
fix
Use from qiskit_algorithms.minimum_eigensolvers import NumPyMinimumEigensolver.
gotcha Post-Qiskit 1.0, `qiskit.algorithms` is removed entirely. Use `qiskit-algorithms` standalone package.
fix Replace `from qiskit.algorithms import ...` with `from qiskit_algorithms import ...` and ensure qiskit-algorithms is installed.
breaking PrimitivesV2 support in 0.4.0 changes the API: algorithms now accept sampler/estimator V2 instances (e.g., StatevectorSampler) instead of V1 (e.g., Sampler).
fix Update primitive references: `from qiskit.primitives import StatevectorSampler` instead of `from qiskit.primitives import Sampler`.
deprecated `qiskit.algorithms` module (in qiskit-terra) is deprecated since Qiskit 0.25 and removed in Qiskit 1.0.
fix Install qiskit-algorithms and change imports to `qiskit_algorithms`.

A minimal example of Grover's search with the standalone qiskit-algorithms package.

from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler
from qiskit_algorithms import Grover
from qiskit_algorithms.amplitude_amplifiers import GroverOperator

# Define a simple oracle for |11>
oracle = QuantumCircuit(2)
oracle.cz(0, 1)

# Grover operator
grover_op = GroverOperator(oracle)

# Grover instance
sampler = StatevectorSampler()
grover = Grover(sampler=sampler)

# Run Grover's algorithm
result = grover.amplify(grover_op)
print("Top measurement:", result.top_measurement)