English
Languages
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

SPSASamplerGradient

class SPSASamplerGradient(sampler, epsilon, batch_size=1, seed=None, options=None)[source]

Bases: qiskit.algorithms.gradients.base_sampler_gradient.BaseSamplerGradient

Compute the gradients of the sampling probability by the Simultaneous Perturbation Stochastic Approximation (SPSA) [1].

Reference: [1] J. C. Spall, Adaptive stochastic approximation by the simultaneous perturbation method in IEEE Transactions on Automatic Control, vol. 45, no. 10, pp. 1839-1853, Oct 2020, doi: 10.1109/TAC.2000.880982.

Parameters
  • sampler (BaseSampler) – The sampler used to compute the gradients.

  • epsilon (float) – The offset size for the SPSA gradients.

  • batch_size (int) – number of gradients to average.

  • seed (int | None) – The seed for a random perturbation vector.

  • options (Options | None) – Primitive backend runtime options used for circuit execution. The order of priority is: options in run method > gradient’s default options > primitive’s default setting. Higher priority setting overrides lower priority setting

Raises

ValueError – If epsilon is not positive.

Methods

run

Run the job of the sampler gradient on the given circuits.

update_default_options

Update the gradient's default options setting.

Attributes

options

Return the union of sampler options setting and gradient default options, where, if the same field is set in both, the gradient’s default options override the primitive’s default setting.

Return type

Options

Returns

The gradient default + sampler options.