compgraph

run.compgraph

Reference simulation of network dynamics on a computational graph.

Provides SciPy-based helpers that build per-node state and history buffers, propagate delayed coupling between nodes of a networkx graph, integrate each node’s dynamics with odeint, and collect the results into a TimeSeries.

Functions

Name Description
collect_time_series Gather per-node simulation traces into a single TimeSeries.
compute_delayed_input_signal Aggregate a node’s delayed afferent input.
initialize_graph_states_with_history Allocate the trace and delay-history buffers, keeping any state already set.
simulate_graph_dynamics_with_delay Run the simulation over the graph considering delays.
tqdm No-op tqdm fallback used when the package is unavailable.
update_node_state_with_delay Update node state considering delayed input.

collect_time_series

run.compgraph.collect_time_series(G, time_points)

Gather per-node simulation traces into a single TimeSeries.

Each node’s recorded "time-series" is expanded to 4D and concatenated along the node axis, then wrapped in a TimeSeries labelled with the model’s state-variable names.

Parameters

Name Type Description Default
G The graph whose nodes hold the simulated "time-series" arrays and model metadata. required
time_points The time axis shared by all nodes. required

Returns

Name Type Description
A TimeSeries holding the stacked node traces with state-variable
dimension labels.

compute_delayed_input_signal

run.compgraph.compute_delayed_input_signal(node, G, t, dt)

Aggregate a node’s delayed afferent input.

Graph edges point in signal direction, so the afferents are the node’s in-edges: each one pre-transforms the source’s delayed state and weights it, and the shared post-transform is applied once to the sum (also while the delay history is still filling, matching the matrix backends). Mixed post-transforms across one node’s in-edges raise, and a node without afferents receives zero input.

initialize_graph_states_with_history

run.compgraph.initialize_graph_states_with_history(G, delay_buffer=1000)

Allocate the trace and delay-history buffers, keeping any state already set.

A node that already carries a "state" (GraphRunner.setup_initial_conditions puts the model’s declared initial values there) keeps it — overwriting with zeros would start every run from the origin whatever the model declares. The delay history is filled with that state rather than zeros, so a delayed read before the trace exists sees the initial condition.

simulate_graph_dynamics_with_delay

run.compgraph.simulate_graph_dynamics_with_delay(G, T, dt)

Run the simulation over the graph considering delays.

tqdm

run.compgraph.tqdm(x, **kwargs)

No-op tqdm fallback used when the package is unavailable.

update_node_state_with_delay

run.compgraph.update_node_state_with_delay(G, node, t, dt, input_signal)

Update node state considering delayed input.