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 Pythonlist
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
isFalse
then the result is a list of lists containing theneighbors 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.