qlauncher.routines.orca.algorithms

qlauncher.routines.orca.algorithms#

Summary#

Classes:

BBS

Binary Bosonic Solver algorithm class.

Reference#

class qlauncher.routines.orca.algorithms.BBS(algorithm_format: Literal['qubo', 'fn'] = 'qubo', input_state: list[int] | None = None, n_samples: int = 100, gradient_mode: str = 'parameter-shift', gradient_delta: float = 0.5235987755982988, sampling_factor: int = 1, learning_rate: float = 0.05, learning_rate_flip: float = 0.1, updates: int = 100)[source]#

Bases: Algorithm

Binary Bosonic Solver algorithm class.

This class represents the Binary Bosonic Solver (BBS) algorithm. BBS is a quantum-inspired algorithm that solves optimization problems by mapping them onto a binary bosonic system. It uses a training process to find the optimal solution.

### Attributes:

  • algorithm_format (‘qubo’, ‘fn’), optional): If the algorithm input is a function or a qubo matrix. Defaults to ‘qubo’.

  • input_state (list[int] | None, optional): Photonic circuit input state provided to the ORCA computer. If None defaults to [1,0,1,0,1…]. Defaults to None.

  • n_samples (int, optional): Number of samples. Defaults to 100.

  • gradient_mode (str, optional): Gradient mode. Defaults to “parameter-shift”.

  • gradient_delta (float, optional): Gradient Delta. Defaults to np.pi/6.

  • sampling_factor (int, optional): Number of times quantum samples are passed through the classical flipping layer. Defaults to 1.

  • learning_rate (float, optional): Learning rate of the algorithm. Defaults to 5e-2.

  • learning_rate_flip (float, optional): Bit flip learning rate. Defaults to 1e-1.

  • updates (int, optional): Number of epochs. Defaults to 100.

run(problem: Problem, backend: Backend, formatter: Callable[[Problem], ndarray]) Result[source]#

Runs the algorithm on a specific problem using a backend.

Parameters:
  • problem (Problem) – The problem to be solved.

  • backend (Backend) – The backend to be used for execution.

get_bitstring(result: list[float]) str[source]#
construct_results(solver: BinaryBosonicSolver) Result[source]#