Angle Precomputation¶
Tasks¶
- 
class 
AnglePrecomputationTask(dataset_id: str, generation_task: Union[recirq.qaoa.experiments.problem_generation_tasks.HardwareGridProblemGenerationTask, recirq.qaoa.experiments.problem_generation_tasks.SKProblemGenerationTask, recirq.qaoa.experiments.problem_generation_tasks.ThreeRegularProblemGenerationTask], p: int)¶ Pre-compute optimized angles classically for a given problem.
See also
- 
dataset_id¶ A unique identifier for this dataset.
- 
generation_task¶ The input task which specifies the problem.
- 
p¶ QAOA depth hyperparameter p. The number of parameters is 2*p.
- 
 
Task execution functions
- 
precompute_angles(task: recirq.qaoa.experiments.angle_precomputation_tasks.AnglePrecomputationTask, base_dir=None, problem_generation_base_dir=None)¶ Execute a
AnglePrecomputationTask()task.
Library Functions¶
- 
optimize_instance_interp_heuristic(graph: networkx.classes.graph.Graph, p_max: int = 10, param_guess_at_p1=None, node_to_index_map=None, dtype=<class 'numpy.complex128'>, verbose=False)¶ Given a graph, find QAOA parameters that minimizes C=sum_{<ij>} w_{ij} Z_i Z_j
Uses the interpolation-based heuristic from arXiv:1812.01041
- Parameters
 graph – The problem.
p_max – Optimize each p up to this value.
param_guess_at_p1 – Initial angles at p=1. If None, try 10 initial parameter guesses and keep the best one. The first guess will be beta=gamma=pi/8. The following guesses will be random.
node_to_index_map – dictionary that maps nodes to 0-based integer indices (optional, default None, which means use mapping based on iteration)
dtype – The numpy datatype used during construction of the Hamiltonian matrix.
verbose – Whether to print out status updates.
- Returns
 A list of
OptimizationResult
- 
class 
OptimizationResult(p: int, f_val: float, gammas: numpy.ndarray, betas: numpy.ndarray, min_c: float, max_c: float)¶ The result of a classical angle optimization for QAOA.
You may want to use
optimize_instance_interp_heuristic().- 
p¶ QAOA depth hyperparameter p. The number of parameters is 2*p.
- 
f_val¶ The value of the <C> at the optimal angles
- 
gammas¶ An array of p gamma angles
- 
betas¶ An array of p beta angles
- 
min_c¶ The minimum value of C over all bitstrings
- 
max_c¶ The maximum value of C over all bitstrings
-