Optimizer Package

The Optimizer module performs a grid search over a defined parameter space to evaluate quantum algorithm configurations. This helps identify resource requirements under various conditions by exploring parameters specified during algorithm definition.

Algorithm parameter optimizer module.

class AlgorithmOptimizer[source]

Bases: object

Class for optimizing quantum algorithm parameters based on resource estimates.

static find_min_estimate(algorithm: QuantumAlgorithm, estimator_params: EstimatorParams, minimize_metric: str = 'physicalQubits', search_space: list[AlgParams] | None = None) tuple[AlgParams, EstimatorResult][source]

Optimize algorithm parameters to minimize a specific resource metric.

Parameters:
  • algorithm (QuantumAlgorithm) – The quantum algorithm instance to optimize.

  • estimator_params (EstimatorParams) – Parameters for the resource estimator.

  • minimize_metric (str, optional) – Resource metric to minimize (default: ‘physicalQubits’). Options include: ‘physicalQubits’, ‘runtime’, ‘toffoliCount’, etc.

  • search_space (list[AlgParams] | None, optional) – List of algorithm parameters to search over. If None or empty, will attempt to generate from algorithm.

Returns:

Tuple containing (optimal_parameters, optimal_resource_estimate).

Return type:

tuple[AlgParams, EstimatorResult]

Raises:

ValueError – If no search space is provided and the algorithm doesn’t have a defined search space.