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.