Skip to content
Snippets Groups Projects
Commit 015b4bb8 authored by Radek Hušek's avatar Radek Hušek
Browse files

make edge_model_join_matrix parallel

parent 2db208cd
No related branches found
No related tags found
No related merge requests found
......@@ -176,10 +176,22 @@ def _init_():
return m
# FIXME k cemu je to dobry?
def edge_model_join_matrix(P, k):
def edge_model_join_matrix(P, k, threads=1):
from sage.all import matrix, QQ
from parmap import parmap
BG = [ FakeGadget(k, [ BoundaryValue(b, 1) ]) for b in P.enumerate_boundaries(k) ]
return parameter_matrix(P, BG)
inp = ( (r, c) for r in range(len(BG)) for c in range(len(BG)) )
def worker(x):
r, c = x
return (r, c, edge_model_join(BG[r], BG[c]).eval(P, no_cache=True))
m = matrix(QQ, len(BG), len(BG), sparse=True)
for r, c, v in parmap(worker, inp, nprocs=threads, in_order=False):
m[r, c] = v
return m
def enumerate_diamond_matchings(k):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment