Source code for UQpy.sampling.stratified_sampling.latin_hypercube_criteria.Centered

from UQpy.sampling.stratified_sampling.latin_hypercube_criteria import Criterion
import numpy as np


[docs]class Centered(Criterion): def __init__(self): """ Method for generating a Latin hypercube design with samples centered in the bins. """ super().__init__() def generate_samples(self, random_state): u_temp = (self.a + self.b) / 2 lhs_samples = np.zeros([self.samples.shape[0], self.samples.shape[1]]) for i in range(self.samples.shape[1]): if random_state is not None: lhs_samples[:, i] = random_state.permutation(u_temp) else: lhs_samples[:, i] = np.random.permutation(u_temp) return lhs_samples