AQGD¶
-
class
AQGD
(maxiter=1000, eta=1.0, tol=1e-06, disp=False, momentum=0.25, param_tol=1e-06, averaging=10)[source]¶ Bases:
qiskit.aqua.components.optimizers.optimizer.Optimizer
Analytic Quantum Gradient Descent (AQGD) with Epochs optimizer. Performs gradient descent optimization with a momentum term, analytic gradients, and customized step length schedule for parametrized quantum gates, i.e. Pauli Rotations. See, for example:
K. Mitarai, M. Negoro, M. Kitagawa, and K. Fujii. (2018). Quantum circuit learning. Phys. Rev. A 98, 032309. https://arxiv.org/abs/1803.00745
Maria Schuld, Ville Bergholm, Christian Gogolin, Josh Izaac, Nathan Killoran. (2019). Evaluating analytic gradients on quantum hardware. Phys. Rev. A 99, 032331. https://arxiv.org/abs/1811.11184
for further details on analytic gradients of parametrized quantum gates.
Gradients are computed “analytically” using the quantum circuit when evaluating the objective function.
Performs Analytical Quantum Gradient Descent (AQGD) with Epochs.
- Parameters
maxiter (
Union
[int
,List
[int
]]) – Maximum number of iterations (full gradient steps)eta (
Union
[float
,List
[float
]]) – The coefficient of the gradient update. Increasing this value results in larger step sizes: param = previous_param - eta * derivtol (
float
) – Tolerance for change in windowed average of objective values. Convergence occurs when either objective tolerance is met OR parameter tolerance is met.disp (
bool
) – Set to True to display convergence messages.momentum (
Union
[float
,List
[float
]]) – Bias towards the previous gradient momentum in current update. Must be within the bounds: [0,1)param_tol (
float
) – Tolerance for change in norm of parameters.averaging (
int
) – Length of window over which to average objective values for objective convergence criterion
- Raises
AquaError – If the length of
maxiter
, momentum`, andeta
is not the same.
Methods
Support level dictionary
We compute the gradient with the numeric differentiation in the parallel way, around the point x_center.
Perform optimization.
Print algorithm-specific options.
Set max evals grouped
Sets or updates values in the options dictionary.
Wrap the function to implicitly inject the args at the call of the function.
Attributes
-
bounds_support_level
¶ Returns bounds support level
-
gradient_support_level
¶ Returns gradient support level
-
initial_point_support_level
¶ Returns initial point support level
-
is_bounds_ignored
¶ Returns is bounds ignored
-
is_bounds_required
¶ Returns is bounds required
-
is_bounds_supported
¶ Returns is bounds supported
-
is_gradient_ignored
¶ Returns is gradient ignored
-
is_gradient_required
¶ Returns is gradient required
-
is_gradient_supported
¶ Returns is gradient supported
-
is_initial_point_ignored
¶ Returns is initial point ignored
-
is_initial_point_required
¶ Returns is initial point required
-
is_initial_point_supported
¶ Returns is initial point supported
-
setting
¶ Return setting