Interface QuantumAlgorithmProvider

All Superinterfaces:
AlgorithmProvider
All Known Implementing Classes:
AmazonBraketBackend, IBMQBackend, PythonQuantumBackend, QiskitAerBackend, QiskitBackend, Quantum4JBackend, StrangeBackend

public interface QuantumAlgorithmProvider extends AlgorithmProvider
Algorithm provider for quantum computing algorithms.

Provides high-level quantum algorithms (VQE, QAOA, Grover, Shor, QPE) that use a QuantumBackend for circuit execution. This separation allows algorithm implementations to target different hardware backends.

Since:
1.2
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • getAlgorithmType

      default String getAlgorithmType()
      Description copied from interface: AlgorithmProvider
      Returns the unique category of the algorithm.
      Specified by:
      getAlgorithmType in interface AlgorithmProvider
    • getName

      default String getName()
      Specified by:
      getName in interface AlgorithmProvider
    • vqe

      double vqe(Matrix<Complex> hamiltonian, QuantumBackend.QuantumCircuit ansatz, String optimizer)
      Performs Variational Quantum Eigensolver (VQE) to find ground state energy.
      Parameters:
      hamiltonian - Hamiltonian matrix
      ansatz - Parameterized quantum circuit
      optimizer - Classical optimizer ("COBYLA", "SPSA", etc.)
      Returns:
      Ground state energy
    • qaoa

      QuantumBackend.QuantumResult qaoa(Matrix<Complex> costHamiltonian, int layers)
      Performs Quantum Approximate Optimization Algorithm (QAOA).
      Parameters:
      costHamiltonian - Cost Hamiltonian for the optimization problem
      layers - Number of QAOA layers (p parameter)
      Returns:
      Optimal parameters and final state
    • quantumPhaseEstimation

      double quantumPhaseEstimation(Matrix<Complex> unitary, Vector<Complex> eigenstate, int precision)
      Performs Quantum Phase Estimation (QPE).
      Parameters:
      unitary - Unitary operator
      eigenstate - Initial eigenstate
      precision - Number of precision qubits
      Returns:
      Estimated phase
    • groverSearch

      QuantumBackend.QuantumResult groverSearch(QuantumBackend.QuantumCircuit oracle, int numQubits)
      Performs Grover's search algorithm.
      Parameters:
      oracle - Oracle function (marks solution states)
      numQubits - Number of qubits in search space
      Returns:
      Measurement result (solution state)
    • shorFactor

      int[] shorFactor(int N)
      Performs Shor's factoring algorithm.
      Parameters:
      N - Number to factor
      Returns:
      Factors of N
    • matrixToUnitary

      QuantumBackend.QuantumCircuit matrixToUnitary(Matrix<Complex> matrix)
      Converts a classical matrix to a quantum unitary operator.
    • stateTomography

      Matrix<Complex> stateTomography(QuantumBackend.QuantumCircuit circuit, int shots)
      Performs quantum state tomography to reconstruct a density matrix.