find_neighbor_bonds#

find_neighbor_bonds(sites, **kwargs)[source]#

Finds all edges that are connected to the given input nodes

Parameters:
  • network (dict) – The network dictionary

  • inds (array_like (optional)) – A list of node indices whose neighbor edges 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 node. 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 (somtimes) as ‘all’ in boolean logic. Both keywords are accepted and treated as ‘and’.

Returns:

  • An array containing the neighboring edges filtered by the given logic. If

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

  • neighbors of each given input node.

Notes

The logic options are applied to neighboring edges only, thus it is not possible to obtain edges that are part of the global set but not neighbors. This is because (a) the list of global edges might be very large, and (b) it is not possible to return a list of neighbors for each input site if global sites are considered.