pycnic / pysimkernel

A Python package to control parameter scans and iterations for computational experiments
ISC License
1 stars 2 forks source link

User story: Computing some graph statistic #31

Open andsor opened 8 years ago

andsor commented 8 years ago
import networkx as nx
import simkernel as simk

def compute_average_clustering(n, p, graph):
    return nx.average_clustering(graph)

def generate_graph(n, p, seeds):
    for seed in seeds:
        yield nx.gnp_random_graph(n, p, seed)

xp = simk.Experiment(
    compute_average_clustering
).inputgen(
    graph=generate_graph
).aggregate(
    'seeds', simk.mean
)

res = xp(
    n=[10, 100, 1000],
    p=[0.1, 0.2, 0.3, 0.4, 0.5],
    seeds=range(1000),
)

np.testing.assert_array_equal(np.shape(res), (3, 5))