def get_diagram_one(ax, fermion_style, boson_style, vertex_style): D = Diagram(ax) w = 0.75 xy0 = [0.5 - w/2, 0.25] v1 = D.vertex(xy0, **vertex_style) v2 = D.vertex(v1.xy, dx=w, **vertex_style) G = D.line(v1, v2, **fermion_style) B = D.line(v1, v2, **boson_style) # In case the axes get smaller (you have more diagrams), you might want to change the scale D.scale(1.0) D.plot() return D
def get_diagram_one(ax, fermion_style, boson_style, vertex_style): D = Diagram(ax) w = 0.75 xy0 = [0.5 - w / 2, 0.25] v1 = D.vertex(xy0, **vertex_style) v2 = D.vertex(v1.xy, dx=w, **vertex_style) G = D.line(v1, v2, **fermion_style) B = D.line(v1, v2, **boson_style) # In case the axes get smaller (you have more diagrams), you might want to change the scale D.scale(1.0) D.plot() return D
fig = matplotlib.pyplot.figure(figsize=(1., 1.)) ax = fig.add_axes([0, 0, 10, 10], frameon=False) diagram = Diagram(ax) in1 = diagram.verticle(xy=(.1, .5)) in2 = diagram.verticle(xy=(.4, .5)) v1 = diagram.verticle(xy=(.65, .65)) v2 = diagram.verticle(xy=(.65, .35)) out1 = diagram.verticle(xy=(.9, .65), marker='') out2 = diagram.verticle(xy=(.9, .35), marker='') higgs = diagram.line(in1, in2, arrow=False, style='dashed') nu1 = diagram.line(v1, in2) nu2 = diagram.line(in2, v2) w = diagram.line(v1, v2, style='wiggly') lep = diagram.line(out1, v1) tau = diagram.line(v2, out2) nu1.text(r"$\nu_\ell$", fontsize=40) nu2.text(r"$\nu_\tau$", fontsize=40) lep.text(r"$\ell^+$", fontsize=40) tau.text(r"$\tau^-$", fontsize=40) #w.text(r"W$^\pm$",fontsize=40) diagram.text(0.72, 0.5, "$W^\pm$", fontsize=40) #diagram.text(0.69,0.35,"$Z/W^\pm$",fontsize=30) higgs.text("H", fontsize=40) diagram.plot() fig.savefig('pdf/LFV.pdf', bbox_inches='tight')
xy = [0.2, y0] v01 = D.verticle(xy) xy[0] += opwidth v02 = D.verticle(xy) Sigma = D.operator([v01, v02]) Sigma.text("$\Sigma$") D.text(.70, y0, "=", fontsize=30) xy[1] = y0 - 0.07 xy[0] = 0.9 v21 = D.verticle(xy) xy[0] += linlen v22 = D.verticle(xy) l21 = D.line(v21, v22, **G_style) l22 = D.line(v21, v22, **W_style) l21.text("G", y=.05) l22.text("W", y=-.1) D.plot() fig.savefig('pdf/gw-Sigma.pdf') fig.savefig('pdf/gw-Sigma.png')
opwidth = 0.3 linlen = 0.8 tail_marker = 'o' Gamma_width = .3 W_style = dict(style='double wiggly', nwiggles=4) G_style = dict(style='double elliptic', ellipse_excentricity=-1.2, ellipse_spread=.3, arrow=True, arrow_param={'width':0.05}) D = Diagram(ax) xy = [0.2, y0] v01 = D.verticle(xy) v02 = D.verticle(v01.xy, dx=opwidth) P = D.operator([v01,v02], c=1.3) P.text("$P$") D.text(.70, y0, "=", fontsize=30) xy[0] = 0.9 v21 = D.verticle(xy) v22 = D.verticle(xy, dx=linlen) l21 = D.line(v22, v21, **G_style) l21 = D.line(v21, v22, **G_style) D.plot() fig.savefig('pdf/gw-P.pdf')
from feynman import Diagram fig = plt.figure(figsize=(10.,10.)) ax = fig.add_axes([0,0,1,1], frameon=False) diagram = Diagram(ax) in1 = diagram.vertex(xy=(.1,.6), marker='') in2= diagram.vertex(xy=(.1,.4), marker='') v1 = diagram.vertex(xy=(.4,.6)) v2 = diagram.vertex(xy=(.4,.4)) v3 = diagram.vertex(xy=(.6,.5)) v4 = diagram.vertex(xy=(.34,.5), marker='') higgsout = diagram.vertex(xy=(.9,.5)) epsilon = diagram.operator([v4,v3], c=1.1) epsilon.text("Effective \n coupling", fontsize=30) gluon_up_style = dict(style='linear loopy', xamp=.025, yamp=.035, nloops=7) gluon_down_style = dict(style='linear loopy', xamp=.025, yamp=-.035, nloops=7) g1 = diagram.line(in1, v1, **gluon_up_style) g2 = diagram.line(in2, v2, **gluon_down_style) higgs = diagram.line(v3, higgsout, arrow=False, style='dashed') g1.text("g",fontsize=30) diagram.text(v4.xy[0]-.08, v4.xy[1]-.05, "g",fontsize=35) higgs.text("H",fontsize=30) diagram.plot() plt.show()
# First diagram D1 = Diagram(ax) xy = [0.2, y0] v01 = D1.verticle(xy) xy[0] += linlen v02 = D1.verticle(v01.xy, dx=linlen) W = D1.line(v01, v02, **W_style) text_prop = dict(y=0.06, fontsize=22) W.text("$W$", **text_prop) D1.text(.75, y0, "=", fontsize=30) xy = [0.9, y0] v11 = D1.verticle(xy) v13 = D1.verticle(v11.xy, dx=opwidth) v14 = D1.verticle(v13.xy, dx=linlen) O = D1.operator([v11, v13], c=1.1) O.text("${\\varepsilon^{-1}}$", x=.0, y=.01, fontsize=35) D1.line(v13, v14, **v_style) D1.plot() fig.savefig('pdf/gw-W.pdf')
# First diagram D1 = Diagram(ax) xy = [0.2, y0] v01 = D1.verticle(xy) xy[0] += linlen v02 = D1.verticle(v01.xy, dx=linlen) W = D1.line(v01, v02, **W_style) text_prop = dict(y=0.06, fontsize=22) W.text("$W$", **text_prop) D1.text(.75, y0, "=", fontsize=30) xy = [0.9, y0] v11 = D1.verticle(xy) v13 = D1.verticle(v11.xy, dx=opwidth) v14 = D1.verticle(v13.xy, dx=linlen) O = D1.operator([v11,v13], c=1.1) O.text("${\\varepsilon^{-1}}$", x=.0, y=.01, fontsize=35) D1.line(v13, v14, **v_style) D1.plot() fig.savefig('pdf/gw-W.pdf')