class_docstr: Declare an interface common to all supported algorithms.
  :class:`SampleMorris` uses this interface to call the algorithm
  defined by a ConcreteStrategy.
docstr: Identify indices of input sample associated with each trajectory
  
  For each trajectory, identifies the indexes of the input sample which
  is a function of the number of factors/groups and the number of samples
  
  Parameters
  ----------
  num_samples : int
      The number of trajectories
  num_params : int
      The number of parameters
  num_groups : int
      The number of groups
  
  Returns
  -------
  list of numpy.ndarray
  
  Example
  -------
  >>> BruteForce()._make_index_list(num_samples=4, num_params=3,
      num_groups=2)
  [np.array([0, 1, 2]), np.array([3, 4, 5]), np.array([6, 7, 8]),
   np.array([9, 10, 11])]
docstr_tok: ["Identify","indices","of","input","sample","associated","with","each","trajectory","For","each","trajectory",",","identifies","the","indexes","of","the","input","sample","which","is","a","function","of","the","number","of","factors\/groups","and","the","number","of","samples","Parameters","--","--","--","--","--","num_samples",":","int","The","number","of","trajectories","num_params",":","int","The","number","of","parameters","num_groups",":","int","The","number","of","groups","Returns","--","--","--","-","list","of","numpy.ndarray","Example","--","--","--","-",">",">",">","BruteForce","(",")","._make_index_list","(","num_samples=4",",","num_params=3",",","num_groups=2",")","[","np.array","(","[","0",",","1",",","2","]",")",",","np.array","(","[","3",",","4",",","5","]",")",",","np.array","(","[","6",",","7",",","8","]",")",",","np.array","(","[","9",",","10",",","11","]",")","]"]
code: def _make_index_list(num_samples, num_params, num_groups=None):
      """Identify indices of input sample associated with each trajectory
  
      For each trajectory, identifies the indexes of the input sample which
      is a function of the number of factors/groups and the number of samples
  
      Parameters
      ----------
      num_samples : int
          The number of trajectories
      num_params : int
          The number of parameters
      num_groups : int
          The number of groups
  
      Returns
      -------
      list of numpy.ndarray
  
      Example
      -------
      >>> BruteForce()._make_index_list(num_samples=4, num_params=3,
          num_groups=2)
      [np.array([0, 1, 2]), np.array([3, 4, 5]), np.array([6, 7, 8]),
       np.array([9, 10, 11])]
      """
      if num_groups is None:
          num_groups = num_params
  
      index_list = []
      for j in range(num_samples):
          index_list.append(
              np.arange(num_groups + 1) + j * (num_groups + 1)
          )
      return index_list
  
file_path: SALib/src/SALib/sample/morris/strategy.py
imports: import abc
  import numpy
  from scipy.spatial.distance import cdist
label_desc: Use image node_id 4 for calling the Strategy obj's underlying member method code with example usage: obj._make_index_list(num_samples, num_params, num_groups) and returns: index_list