docs: def _fill_matrix(rot_crop_matrix, eigvectors):
      """
      Helper function for opt_soft
  
      """
  
      (x, y) = rot_crop_matrix.shape
  
      row_sums = np.sum(rot_crop_matrix, axis=1)
      row_sums = np.reshape(row_sums, (x, 1))
  
      # add -row_sums as leftmost column to rot_crop_matrix
      rot_crop_matrix = np.concatenate((-row_sums, rot_crop_matrix), axis=1)
  
      tmp = -np.dot(eigvectors[:, 1:], rot_crop_matrix)
  
      tmp_col_max = np.max(tmp, axis=0)
      tmp_col_max = np.reshape(tmp_col_max, (1, y + 1))
  
      tmp_col_max_sum = np.sum(tmp_col_max)
  
      # add col_max as top row to rot_crop_matrix and normalize
      rot_matrix = np.concatenate((tmp_col_max, rot_crop_matrix), axis=0)
      rot_matrix /= tmp_col_max_sum
  
      return rot_matrix