FiniteDiffSamplerGradient¶
- class FiniteDiffSamplerGradient(sampler, epsilon, options=None, *, method='central')[source]¶
Bases:
BaseSamplerGradient
Compute the gradients of the sampling probability by finite difference method [1].
Reference: [1] Finite difference method
- Parameters
sampler (BaseSampler) – The sampler used to compute the gradients.
epsilon (float) – The offset size for the finite difference gradients.
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 settingmethod (Literal[('central', 'forward', 'backward')]) –
The computation method of the gradients.
central
computes \(\frac{f(x+e)-f(x-e)}{2e}\),forward
computes \(\frac{f(x+e) - f(x)}{e}\),backward
computes \(\frac{f(x)-f(x-e)}{e}\)
where \(e\) is epsilon.
- Raises
ValueError – If
epsilon
is not positive.TypeError – If
method
is invalid.
Methods
Run the job of the sampler gradient on the given circuits.
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.
- Returns
The gradient default + sampler options.