Algorithms Module

The algorithms module provides ready-to-run implementations of canonical quantum algorithms. No circuit construction required — pass parameters, get results.

List available algorithms


Finds a target item in an unstructured space of 2^n items in O(√N) operations — quadratic speedup over classical. Use cases: Database search, constraint satisfaction, combinatorial optimisation.
Runs execute on the managed local simulator; pass "async_run": true to get a job_id and poll GET /api/v1/algorithms/jobs/{job_id}.

Shor’s Factoring Algorithm

Factors an integer N into prime factors in polynomial time — exponential speedup over classical. Foundational for post-quantum cryptography research. Use cases: Cryptography research, RSA vulnerability assessment, prime factorisation.
Response:

QAOA — Quantum Approximate Optimisation Algorithm

Solves combinatorial optimisation problems. Currently supports MaxCut on graphs. Use cases: Portfolio optimisation, logistics routing, network partitioning, scheduling.

QFT — Quantum Fourier Transform

Applies the Quantum Fourier Transform (or inverse) to a computational basis state. Use cases: Phase estimation subroutine, signal processing, period finding.

QPE — Quantum Phase Estimation

Estimates the phase φ of a unitary’s eigenvalue e^(2πiφ) to n precision bits. Use cases: Chemistry (energy estimation), Shor’s algorithm subroutine, HHL linear systems.

Deutsch-Jozsa

Determines if a function is constant or balanced in a single query — exponential speedup. Use cases: Teaching quantum advantage, oracle testing, algorithm benchmarking.

Bernstein-Vazirani

Recovers a hidden binary string in a single quantum query.

Hybrid HPC + QPU

Runs workloads where classical steps execute on CPU/LUMI HPC and quantum steps on QPU. Use cases: VQE molecular simulation, QAOA with classical optimiser, ML-quantum pipelines.
Presets: vqe_molecular and portfolio (portfolio requires initial_context.returns and initial_context.covariance).

Run any algorithm by name

POST /api/v1/algorithms/{name}/run executes any registered algorithm; pass algorithm-specific parameters inside params:

Track async algorithm jobs