find_connected_sites#

find_connected_sites(bonds, **kwargs)[source]#

Finds which nodes are connected to a given set of edges

Parameters:
  • network (dict) – The network dictionary

  • inds (array_like) – A list of edges indices whose connected nodes are sought

  • flatten (bool (default is True)) – Indicates whether the returned result is a compressed array of all neighbors, or a list of lists with each sub-list containing the neighbors for each input edge. Note that an unflattened list might be slow to generate since it is a Python list rather than a Numpy array.

  • logic (str) –

    Specifies logic to filter the resulting list. Options are:

    logic

    Description

    ’or’

    (default) All neighbors of the inputs. This is also known as the ‘union’ in set theory or ‘any’ in boolean logic. Both keywords are accepted and treated as ‘or’.

    ’xor’

    Only neighbors of one and only one inputs. This is useful for finding neighbors that are not shared by any of the input nodes. ‘exclusive_or’ is also accepted.

    ’xnor’

    Neighbors that are shared by two or more inputs . This is equivalent to finding all neighbors with ‘or’, minus those found with ‘xor’, and is useful for finding neighbors that the inputs have in common. ‘nxor’ is also accepted.

    ’and’

    Only neighbors shared by all inputs. This is also known as ‘intersection’ in set theory and (sometimes) as ‘all’ in boolean logic. Both keywords are accepted and treated as ‘and’.

Returns:

  • An array containing the connected sites, filtered by the given logic. If

  • flatten is False then the result is a list of lists containing the

  • neighbors of each given input edge. In this latter case, nodes that

  • have been removed by the given logic are indicated by nans, thus the

  • array is of type float and is not suitable for indexing.