network
¶
Represents the network of interest. This is the primary object of PyPhi and the context of all \(\varphi\) and \(\Phi\) computation.

class
pyphi.network.
Network
(tpm, connectivity_matrix=None, node_labels=None, purview_cache=None)¶ A network of nodes.
Represents the network we’re analyzing and holds auxilary data about it.
Parameters: tpm (np.ndarray) –
The transition probability matrix of the network.
The TPM can be provided in either statebynode (either \(2\)\(D\) or \(N\)\(D\)) or statebystate form. In either form, row indices must follow the LOLI convention (see discussion in the
examples
module.) In statebystate form column indices must also follow LOLI convention.If given in statebynode form, the TPM can be either 2dimensional, so that
tpm[i]
gives the probabilities of each node being on if the past state is encoded by \(i\) according to LOLI, or in \(N\)\(D\) form, so thattpm[(0, 0, 1)]
gives the probabilities of each node being on if the past state is \(\{N_0 = 0, N_1 = 0, N_2 = 1\}\).The shape of the 2dimensional form of a statebynode TPM must be
(S, N)
, and the shape of the \(N\)\(D\) form of the TPM must be[2] * N + [N]
, whereS
is the number of states and \(N\) is the number of nodes in the network.Keyword Arguments:  connectivity_matrix (np.ndarray) – A square binary adjacency matrix
indicating the connections between nodes in the network.
connectivity_matrix[i][j] == 1
means that node \(i\) is connected to node \(j\). If no connectivity matrix is given, every node is connected to every node (including itself).  node_labels (tuple[str]) – Human readable labels for each node in the network.
Example
In a 3node network,
a_network.tpm[(0, 0, 1)]
gives the transition probabilities for each node at \(t_0\) given that state at \(t_{1}\) was \(\{N_0 = 0, N_1 = 0, N_2 = 1\}\).
tpm
¶ np.ndarray – The network’s transition probability matrix, in \(N\)\(D\) form.

cm
¶ np.ndarray – The network’s connectivity matrix.
A square binary adjacency matrix indicating the connections between nodes in the network.

connectivity_matrix
¶ np.ndarray – Alias for Network.cm.

causally_significant_nodes
¶

size
¶ int – The number of nodes in the network.

num_states
¶ int – The number of possible states of the network.

node_indices
¶ tuple[int] – The indices of nodes in the network.
This is
0..network.size
.

node_labels
¶ tuple[str] – The labels of nodes in the network.

labels2indices
(labels)¶ Convert a tuple of node labels to node indices.

indices2labels
(indices)¶ Convert a tuple of node indices to node labels.

parse_node_indices
(nodes)¶ Returns the nodes indices for nodes, where
nodes
is either already integer indices or node labels.

__eq__
(other)¶ Return whether this network equals the other object.
Two networks are equal if they have the same TPM and CM.

to_json
()¶

classmethod
from_json
(json)¶
 connectivity_matrix (np.ndarray) – A square binary adjacency matrix
indicating the connections between nodes in the network.

pyphi.network.
irreducible_purviews
(cm, direction, mechanism, purviews)¶ Returns all purview which are irreducible for the mechanism.
Parameters: Returns: list[tuple[int]] –
 All purviews in
purviews
which are not reducible over
mechanism
.
Raises: ValueError
– Ifdirection
is invalid. All purviews in

pyphi.network.
from_json
(filename)¶ Convert a JSON representation of a network to a PyPhi network.
Parameters: filename (str) – A path to a JSON file representing a network. Returns: Network – The corresponding PyPhi network object.