docarray.math.helper module#

docarray.math.helper.minmax_normalize(x, t_range=(0, 1), x_range=None, eps=1e-07)[source]#

Normalize values in x into t_range.

x can be a 1D array or a 2D array. When x is a 2D array, then normalization is row-based.

Note

  • with t_range=(0, 1) will normalize the min-value of the data to 0, max to 1;

  • with t_range=(1, 0) will normalize the min-value of the data to 1, max value of the data to 0.

Parameters:
  • x (ndarray) – the data to be normalized

  • t_range (Tuple) – a tuple represents the target range.

  • x_range (Optional[Tuple]) – a tuple represents x range.

  • eps (float) – a small jitter to avoid divde by zero

Returns:

normalized data in t_range

docarray.math.helper.top_k(values, k, descending=False)[source]#

Finds values and indices of the k largest entries for the last dimension.

Parameters:
  • values (ndarray) – array of distances

  • k (int) – number of values to retrieve

  • descending (bool) – find top k biggest values

Return type:

Tuple[ndarray, ndarray]

Returns:

indices and distances

docarray.math.helper.update_rows_x_mat_best(x_mat_best, x_inds_best, x_mat, x_inds, k)[source]#

Updates x_mat_best and x_inds_best rows with the k best values and indices (per row) from x_mat union x_mat_best.

Parameters:
  • x_mat (ndarray) – numpy array of the first matrix

  • x_inds (ndarray) – numpy array of the indices of the first matrix

  • x_mat_best (ndarray) – numpy array of the second matrix

  • x_inds_best (ndarray) – numpy array of the indices of the second matrix

  • k (int) – number of values to retrieve

Returns:

indices and distances