pyriemann_qiskit.optimization.riemannian_adam.RiemannianAdamOptimizer

class pyriemann_qiskit.optimization.riemannian_adam.RiemannianAdamOptimizer(maxiter=100, lr=0.1, beta1=0.9, beta2=0.999, eps=1e-08, fd_epsilon=1e-05, tol=1e-06)[source]

Adam optimizer with manifold-aware retraction for VQC parameters, inspired by [1].

Parameters:
  • maxiter (int, default=100) – Maximum number of iterations.

  • lr (float, default=0.1) – Learning rate.

  • beta1 (float, default=0.9) – Exponential decay rate for the first moment estimate.

  • beta2 (float, default=0.999) – Exponential decay rate for the second moment estimate.

  • eps (float, default=1e-8) – Term added to the denominator for numerical stability.

  • fd_epsilon (float, default=1e-5) – Finite-difference step size for gradient approximation. Should be small (~1e-5 to 1e-7) for accurate numerical gradients.

  • tol (float, default=1e-6) – Convergence tolerance on the gradient norm.

trajectory_

Optimization trajectory (parameter history).

Type:

list of ndarray

loss_history_

Loss function values at each iteration.

Type:

list of float

Examples

>>> from pyriemann_qiskit.optimization.riemannian_adam import (
...     RiemannianAdamOptimizer
... )
>>> optimizer = RiemannianAdamOptimizer(maxiter=100, lr=0.1)
>>> # Use with QuanticNCH or other quantum classifiers
>>> # qaoa_optimizer=optimizer

Notes

Added in version 0.7.0.

References

[1]

Becigneul, G., & Ganea, O. E. (2019). Riemannian adaptive optimization methods. ICLR.

__init__(maxiter=100, lr=0.1, beta1=0.9, beta2=0.999, eps=1e-08, fd_epsilon=1e-05, tol=1e-06)[source]

Initialize the optimization algorithm, setting the support level for _gradient_support_level, _bound_support_level, _initial_point_support_level, and empty options.

Examples using pyriemann_qiskit.optimization.riemannian_adam.RiemannianAdamOptimizer

Optimizer ablation study for ContinuousQIOCEClassifier

Optimizer ablation study for ContinuousQIOCEClassifier