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 the job of the sampler gradient on the given circuits.
Update the gradient's default options setting.
Attributes