# one observation at node 4 observations={4:0.0} # directed edges for kernel BP implementation edges=model.extract_edges(observations) print "graph:", graph print "observations:", observations print "edges:", edges # sample data, random number of samples for each edge n_min=5 n_max=6 data={} for edge in edges: samples = model.sample_real(randint(n_min, n_max)) # only sample once per undirected edge inverse_edge=(edge[1], edge[0]) if (edge not in data and inverse_edge not in data): data1=samples[edge[0]] data2=samples[edge[1]] data[edge]=(data1,data2) data[inverse_edge]=(data2,data1) # compute all (here Gaussian) kernels of node data at edges with themselves kernel=GaussianKernel(sigma=1) # use the example class for dense matrix data that can be stored in memory precomputer=PrecomputeDenseMatrixKernelBP(graph, edges, data, observations, \