scipy.stats.qmc.update_discrepancy#

scipy.stats.qmc.update_discrepancy(x_new, sample, initial_disc)[source]#

Update the centered discrepancy with a new sample.

Parameters:
x_newarray_like (1, d)

The new sample to add in sample.

samplearray_like (n, d)

The initial sample.

initial_discfloat

Centered discrepancy of the sample.

Returns:
discrepancyfloat

Centered discrepancy of the sample composed of x_new and sample.

Examples

We can also compute iteratively the discrepancy by using iterative=True.

>>> import numpy as np
>>> from scipy.stats import qmc
>>> space = np.array([[1, 3], [2, 6], [3, 2], [4, 5], [5, 1], [6, 4]])
>>> l_bounds = [0.5, 0.5]
>>> u_bounds = [6.5, 6.5]
>>> space = qmc.scale(space, l_bounds, u_bounds, reverse=True)
>>> disc_init = qmc.discrepancy(space[:-1], iterative=True)
>>> disc_init
0.04769081147119336
>>> qmc.update_discrepancy(space[-1], space[:-1], disc_init)
0.008142039609053513