node
¶
Represents a node in a network. Each node has a unique index, its position in the network’s list of nodes.
- class pyphi.node.Node(tpm, cm, index, state, node_labels)¶
A node in a subsystem.
- Parameters
tpm (np.ndarray) – The TPM of the subsystem.
cm (np.ndarray) – The CM of the subsystem.
index (int) – The node’s index in the network.
state (int) – The state of this node.
node_labels (
NodeLabels
) – Labels for these nodes.
- tpm¶
The node TPM is an array with shape
(2,)*(n + 1)
, wheren
is the size of theNetwork
. The firstn
dimensions correspond to each node in the system. Dimensions corresponding to nodes that provide input to this node are of size 2, while those that do not correspond to inputs are of size 1, so that the TPM has \(2^m \times 2\) elements where \(m\) is the number of inputs. The last dimension corresponds to the state of the node in the next timestep, so thatnode.tpm[..., 0]
gives probabilities that the node will be ‘OFF’ andnode.tpm[..., 1]
gives probabilities that the node will be ‘ON’.- Type
np.ndarray
- property tpm_off¶
The TPM of this node containing only the ‘OFF’ probabilities.
- property tpm_on¶
The TPM of this node containing only the ‘ON’ probabilities.
- property inputs¶
The set of nodes with connections to this node.
- property outputs¶
The set of nodes this node has connections to.
- property label¶
The textual label for this node.
- __eq__(other)¶
Return whether this node equals the other object.
Two nodes are equal if they belong to the same subsystem and have the same index (their TPMs must be the same in that case, so this method doesn’t need to check TPM equality).
Labels are for display only, so two equal nodes may have different labels.
- to_json()¶
Return a JSON-serializable representation.
- pyphi.node.generate_nodes(tpm, cm, network_state, indices, node_labels=None)¶
Generate
Node
objects for a subsystem.- Parameters
tpm (np.ndarray) – The system’s TPM
cm (np.ndarray) – The corresponding CM.
network_state (tuple) – The state of the network.
indices (tuple[int]) – Indices to generate nodes for.
- Keyword Arguments
node_labels (
NodeLabels
) – Textual labels for each node.- Returns
The nodes of the system.
- Return type
tuple[Node]
- pyphi.node.expand_node_tpm(tpm)¶
Broadcast a node TPM over the full network.
This is different from broadcasting the TPM of a full system since the last dimension (containing the state of the node) contains only the probability of this node being on, rather than the probabilities for each node.