def sample(problem, N):
    D = problem['num_vars']

    result = np.empty([N, D])
    temp = np.empty([N])
    d = 1.0 / N

    for i in range(D):

        for j in range(N):
            temp[j] = np.random.uniform(
                low=j * d, high=(j + 1) * d, size=1)[0]

        np.random.shuffle(temp)

        for j in range(N):
            result[j, i] = temp[j]

    scale_samples(result, problem['bounds'])
    return result
update predictive posterior for hierarchical normalized stable distribution
dataset/ETHPy150Open SALib/SALib/SALib/sample/latin.py/sample--crossover with--dataset/ETHPy150Open balajiln/mondrianforest/src/mondrianforest.py/MondrianTree.update_predictive_posteriors