|
@@ -27,22 +27,20 @@ if not is_divisible:
|
|
|
print("Number of values {:d} does not divide number of grid points {:d}. Distribution will not be uniform.".format(
|
|
|
number_of_available_values, number_of_grid_points))
|
|
|
|
|
|
-
|
|
|
repeats = number_of_grid_points // number_of_available_values if is_divisible else number_of_grid_points // \
|
|
|
- number_of_available_values +1
|
|
|
+ number_of_available_values + 1
|
|
|
available_values = np.linspace(-1, 1, number_of_available_values, endpoint=False)
|
|
|
new_values = np.repeat(available_values, repeats)
|
|
|
|
|
|
rescaled_simplex_values[sorted_idx] = new_values[:len(rescaled_simplex_values)]
|
|
|
|
|
|
-
|
|
|
# Plot and check uniformity
|
|
|
rescaled_simplex_values = rescaled_simplex_values
|
|
|
|
|
|
-bins = np.linspace(-1, 1, number_of_available_values+1, endpoint=True)
|
|
|
+bins = np.linspace(-1, 1, number_of_available_values + 1, endpoint=True) # To get the same bin edges as the available
|
|
|
+# values
|
|
|
occurrences, _, _ = pl.hist(rescaled_simplex_values, bins=bins)
|
|
|
|
|
|
-
|
|
|
pl.matshow(rescaled_simplex_values.reshape(number_of_grid_points_per_row, -1), vmin=-1, vmax=1, extent=(0,
|
|
|
sheet_size,
|
|
|
0, sheet_size))
|
|
@@ -61,5 +59,3 @@ for ii, val in enumerate(range(number_of_available_values)):
|
|
|
|
|
|
old_rescaled_simplex_values = (old_rescaled_simplex_values - number_of_grid_points) / number_of_grid_points
|
|
|
"""
|
|
|
-
|
|
|
-
|