class_docstr: Implements the brute force optimisation strategy
docstr: Obtains scores from the distance_matrix for each pairwise combination
  held in the combos array
  
  Parameters
  ----------
  combos : numpy.ndarray
  pairwise : numpy.ndarray
  distance_matrix : numpy.ndarray
docstr_tok: ["Obtains","scores","from","the","distance_matrix","for","each","pairwise","combination","held","in","the","combos","array","Parameters","--","--","--","--","--","combos",":","numpy.ndarray","pairwise",":","numpy.ndarray","distance_matrix",":","numpy.ndarray"]
code: def mappable(combos, pairwise, distance_matrix):
      """
      Obtains scores from the distance_matrix for each pairwise combination
      held in the combos array
  
      Parameters
      ----------
      combos : numpy.ndarray
      pairwise : numpy.ndarray
      distance_matrix : numpy.ndarray
      """
      combos = np.array(combos)
      # Create a list of all pairwise combination for each combo in combos
      combo_list = combos[
          :,
          pairwise[:,],
      ]
  
      addresses = (combo_list[:, :, 1], combo_list[:, :, 0])
  
      all_distances = distance_matrix[addresses]
      new_scores = np.sqrt(
          np.einsum("ij,ij->i", all_distances, all_distances)
      )
      return new_scores
  
file_path: SALib/src/SALib/sample/morris/brute.py
imports: from SALib.sample.morris.strategy import Strategy
  from scipy.special import comb
  from itertools import combinations, islice
  import sys
  import numpy
  from typing import List
label_desc: Use image node_id 5 for calling the BruteForce obj's underlying member method code with example usage: obj.mappable(combos, pairwise, distance_matrix) and returns: new_scores