@@ -53,6 +53,39 @@ def gen_graphs_yukawa_phi4(loops, ext_fermion, ext_boson,
5353 yield from frozenset (gen_yukawa_graphs )
5454
5555
56+ def gen_graphs_yukawa_phi4_parallel (loops , ext_fermion , ext_boson ,
57+ cntd , edge2cntd , vtx2cntd ,
58+ notadpoles ):
59+ """
60+ EXAMPLES::
61+
62+ sage: from yukawa_phi4_gen import *
63+ sage: L = gen_graphs_yukawa_phi4_parallel(3,0,0,True,False,False,True)
64+ sage: list(L)
65+ [G[[1,0,A],[1,0,A],[1,0,A],[1,0,A]]/48]
66+
67+ sage: L = gen_graphs_yukawa_phi4_parallel(0,0,4,True,False,False,True)
68+ sage: list(L)
69+ [G[[1,0,A],[2,0,A],[3,0,A],[4,0,A]]/24]
70+ """
71+ from sage .parallel .multiprocessing_sage import parallel_iter
72+
73+ N_proc = 2
74+
75+ def possibilities (bare_graph , ext_fermion , ext_boson ):
76+ return frozenset (g .unlabeled_graph
77+ for g in gen_yukawa_phi4_from_phi34 (bare_graph ,
78+ ext_fermion ,
79+ ext_boson ))
80+
81+ phi34_graphs = phi_34_gen .gen_graphs (loops , ext_fermion + ext_boson ,
82+ cntd , edge2cntd , vtx2cntd , notadpoles )
83+
84+ return parallel_iter (N_proc , possibilities ,
85+ (((g , ext_fermion , ext_boson ), {})
86+ for g in phi34_graphs ))
87+
88+
5689def gen_yukawa_phi4_from_phi34 (graph , ext_fermion , ext_boson ):
5790 """
5891 Helper function: Generate full fledged Yukawa-Phi4 graphs
0 commit comments