network

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

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.
Return type:Network
pyphi.network.list_past_purview(self, mechanism)
pyphi.network.list_future_purview(self, mechanism)
class pyphi.network.Network(tpm, current_state, past_state, connectivity_matrix=None, perturb_vector=None, purview_cache=None)

A network of nodes.

Represents the network we’re analyzing and holds auxilary data about it.

Example

In a 3-node 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\}\).

Parameters:
  • tpm (np.ndarray) – See the corresponding attribute.
  • current_state (tuple) – See the corresponding attribute.
  • past_state (tuple) – See the corresponding attribute.
Keyword Arguments:
 

connectivity_matrix (array or sequence) – 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).

tpm

np.ndarray – The network’s transition probability matrix. It can be provided in either state-by-node (either 2-D or N-D) or state-by-state form. In either form, row indices must follow the LOLI convention (see discussion in the examples module), and in state-by-state form, so must column indices. If given in state-by-node form, it can be either 2-dimensional, 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 that tpm[(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 2-dimensional form of a state-by-node TPM must be (S, N), and the shape of the N-D form of the TPM must be [2] * N + [N], where S is the number of states and N is the number of nodes in the network.

current_state

tuple – The current state of the network. current_state[i] gives the current state of node \(i\).

past_state

tuple – The past state of the network. past_state[i] gives the past state of node \(i\).

connectivity_matrix

np.ndarray – A square binary adjacency matrix indicating the connections between nodes in the network.

size

int – The number of nodes in the network.

num_states

int – The number of possible states of the network.

size
num_states
node_indices
current_state
past_state
tpm
connectivity_matrix
perturb_vector
build_purview_cache()
__eq__(other)

Return whether this network equals the other object.

Two networks are equal if they have the same TPM, current state, and past state.

json_dict()