AQGD¶
- class AQGD(maxiter=1000, eta=1.0, tol=1e-06, momentum=0.25, param_tol=1e-06, averaging=10)[source]¶
Bases :
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 parameterized 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 parameterized quantum gates.
Gradients are computed « analytically » using the quantum circuit when evaluating the objective function.
Performs Analytical Quantum Gradient Descent (AQGD) with Epochs.
- Paramètres
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.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
- Lève
AlgorithmError – 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.
Minimize the scalar function.
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
- settings¶
- Type renvoyé
Dict
[str
,Any
]