class probnum.quad.solvers.acquisition_functions.IntegralVarianceReduction

Bases: AcquisitionFunction

The normalized reduction of the integral variance.

The acquisition function is

\[\begin{split}a(x) &= \mathfrak{v}^{-1}(\mathfrak{v} - \mathfrak{v}(x))\\ &= \frac{(\int \bar{k}(x', x)p(x')\mathrm{d}x')^2}{\mathfrak{v} v(x)}\\ &= \rho^2(x)\end{split}\]

where \(\mathfrak{v}\) is the current integral variance, \(\mathfrak{v}(x)\) is the integral variance including a hypothetical observation at \(x\), \(v(x)\) is the predictive variance for \(f(x)\) and \(\bar{k}(x', x)\) is the posterior kernel function.

The value \(a(x)\) is equal to the squared correlation \(\rho^2(x)\) between the hypothetical observation at \(x\) and the integral value. [1]

The normalization constant \(\mathfrak{v}^{-1}\) ensures that \(a(x)\in[0, 1]\).


Attributes Summary


Whether the acquisition function exposes gradients.

Methods Summary

__call__(x, bq_state)

Evaluates the acquisition function and optionally its gradients.

Attributes Documentation


Methods Documentation

__call__(x, bq_state)[source]

Evaluates the acquisition function and optionally its gradients.

  • x (ndarray) – shape=(batch_size, input_dim) – The nodes where the acquisition function is being evaluated.

  • bq_state (BQState) – State of the BQ belief.


  • acquisition_valuesshape=(batch_size, ) – The acquisition values at nodes x.

  • acquisition_gradientsshape=(batch_size, input_dim) – The corresponding gradients (optional).

Return type:

Tuple[ndarray, ndarray | None]