nodes: 0, module; 1, function_definition; 2, function_name:add_inverse_distances; 3, parameters; 4, block; 5, identifier:self; 6, identifier:indices; 7, default_parameter; 8, default_parameter; 9, expression_statement; 10, import_from_statement; 11, expression_statement; 12, expression_statement; 13, expression_statement; 14, expression_statement; 15, identifier:periodic; 16, True; 17, identifier:indices2; 18, None; 19, comment:"""
          Adds the inverse distances between atoms to the feature list.
  
          Parameters
          ----------
          indices : can be of two types:
  
                  ndarray((n, 2), dtype=int):
                      n x 2 array with the pairs of atoms between which the inverse distances shall be computed
  
                  iterable of integers (either list or ndarray(n, dtype=int)):
                      indices (not pairs of indices) of the atoms between which the inverse distances shall be computed.
  
          periodic : optional, boolean, default is True
              If periodic is True and the trajectory contains unitcell information,
              distances will be computed under the minimum image convention.
  
          indices2: iterable of integers (either list or ndarray(n, dtype=int)), optional:
                      Only has effect if :py:obj:`indices` is an iterable of integers. Instead of the above behaviour,
                      only the inverse distances between the atoms in :py:obj:`indices` and :py:obj:`indices2` will be computed.
  
  
          .. note::
              When using the *iterable of integers* input, :py:obj:`indices` and :py:obj:`indices2`
              will be sorted numerically and made unique before converting them to a pairlist.
              Please look carefully at the output of :py:func:`describe()` to see what features exactly have been added.
  
          """; 20, relative_import; 21, dotted_name; 22, assignment; 23, assignment; 24, assignment; 25, call; 26, import_prefix; 27, dotted_name; 28, identifier:InverseDistanceFeature; 29, identifier:atom_pairs; 30, call; 31, identifier:atom_pairs; 32, call; 33, identifier:f; 34, call; 35, attribute; 36, argument_list; 37, identifier:distances; 38, identifier:_parse_pairwise_input; 39, argument_list; 40, attribute; 41, argument_list; 42, identifier:InverseDistanceFeature; 43, argument_list; 44, identifier:self; 45, identifier:__add_feature; 46, identifier:f; 47, identifier:indices; 48, identifier:indices2; 49, attribute; 50, keyword_argument; 51, identifier:self; 52, identifier:_check_indices; 53, identifier:atom_pairs; 54, attribute; 55, identifier:atom_pairs; 56, keyword_argument; 57, identifier:self; 58, identifier:logger; 59, identifier:fname; 60, string; 61, identifier:self; 62, identifier:topology; 63, identifier:periodic; 64, identifier:periodic; 65, string_content:add_inverse_distances()
code: def add_inverse_distances(self, indices, periodic=True, indices2=None):
          """
          Adds the inverse distances between atoms to the feature list.
  
          Parameters
          ----------
          indices : can be of two types:
  
                  ndarray((n, 2), dtype=int):
                      n x 2 array with the pairs of atoms between which the inverse distances shall be computed
  
                  iterable of integers (either list or ndarray(n, dtype=int)):
                      indices (not pairs of indices) of the atoms between which the inverse distances shall be computed.
  
          periodic : optional, boolean, default is True
              If periodic is True and the trajectory contains unitcell information,
              distances will be computed under the minimum image convention.
  
          indices2: iterable of integers (either list or ndarray(n, dtype=int)), optional:
                      Only has effect if :py:obj:`indices` is an iterable of integers. Instead of the above behaviour,
                      only the inverse distances between the atoms in :py:obj:`indices` and :py:obj:`indices2` will be computed.
  
  
          .. note::
              When using the *iterable of integers* input, :py:obj:`indices` and :py:obj:`indices2`
              will be sorted numerically and made unique before converting them to a pairlist.
              Please look carefully at the output of :py:func:`describe()` to see what features exactly have been added.
  
          """
          from .distances import InverseDistanceFeature
          atom_pairs = _parse_pairwise_input(
              indices, indices2, self.logger, fname='add_inverse_distances()')
  
          atom_pairs = self._check_indices(atom_pairs)
          f = InverseDistanceFeature(self.topology, atom_pairs, periodic=periodic)
          self.__add_feature(f)