French
Languages
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

qiskit.algorithms.optimizers.QNSPSA.calibrate

static QNSPSA.calibrate(loss, initial_point, c=0.2, stability_constant=0, target_magnitude=None, alpha=0.602, gamma=0.101, modelspace=False, max_evals_grouped=1)

Calibrate SPSA parameters with a powerseries as learning rate and perturbation coeffs.

The powerseries are:

\[a_k = \frac{a}{(A + k + 1)^\alpha}, c_k = \frac{c}{(k + 1)^\gamma}\]
Paramètres
  • loss (Callable[[ndarray], float]) – The loss function.

  • initial_point (ndarray) – The initial guess of the iteration.

  • c (float) – The initial perturbation magnitude.

  • stability_constant (float) – The value of A.

  • target_magnitude (Optional[float]) – The target magnitude for the first update step, defaults to \(2\pi / 10\).

  • alpha (float) – The exponent of the learning rate powerseries.

  • gamma (float) – The exponent of the perturbation powerseries.

  • modelspace (bool) – Whether the target magnitude is the difference of parameter values or function values (= model space).

  • max_evals_grouped (int) – The number of grouped evaluations supported by the loss function. Defaults to 1, i.e. no grouping.

Renvoie

A tuple of powerseries generators, the first one for the

learning rate and the second one for the perturbation.

Type renvoyé

tuple(generator, generator)