v11 = D.vertex(xy=[0.05, 0.06]) v12 = D.vertex(v11.xy, dx=l) G = D.line(v11, v12, **G_style) G.text("$G$", **text_prop) # Symbol D.text(v12.x + txt_l, v12.y, "=") # First term v21 = D.vertex(v12.xy, dx=2*txt_l) v22 = D.vertex(v21.xy, dx=l) G0 = D.line(v21, v22, **G0_style) G0.text("$G_0$", **text_prop) # Symbol D.text(v22.x + txt_l, v22.y, "+") # Second term v31 = D.vertex(v22.xy, dx=2*txt_l) v32 = D.vertex(v31.xy, dx=l) v33 = D.vertex(v32.xy, dx=op_l) v34 = D.vertex(v33.xy, dx=l) D.line(v31, v32, **G0_style) D.line(v33, v34, **G_style) O = D.operator([v32,v33]) O.text("$\Sigma$") # Plot and show D.plot() plt.show()
linlen = 0.3 txtpad = 0.2 tail_marker = 'o' W_style = dict(style='double wiggly', nwiggles=2) v_style = dict(style='simple wiggly', nwiggles=2) G_style = dict(style='double', arrow=True, arrow_param={'width': 0.05}) D = Diagram(ax) # Left hand size xy = [0.4, y0] v11 = D.vertex(xy, dy=side / 2) v12 = D.vertex(xy, dy=-side / 2) v13 = D.vertex(xy, dx=gammalen) gamma0 = D.operator([v11, v12, v13]) gamma0.text("$\Gamma$") # Symbol D.text(v13.x + txtpad, y0, "=") # Create a three-vertex dot. chunkdist = .03 chunklen = .03 chunkstyle = dict(arrow=False, linewidth=6.) v20 = D.vertex([v13.x + 2 * txtpad, y0]) v210 = D.vertex(v20.xy, angle=0., radius=chunkdist, marker='') v220 = D.vertex(v20.xy, angle=1. / 3, radius=chunkdist, marker='') v230 = D.vertex(v20.xy, angle=2. / 3, radius=chunkdist, marker='') v21 = D.vertex(v20.xy, angle=0., radius=chunkdist + chunklen, marker='') v22 = D.vertex(v20.xy, angle=1. / 3, radius=chunkdist + chunklen, marker='')
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')
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')
DW_style = dict(style='circular loopy', circle_radius=.7, xamp=.10, yamp=.15, nloops=18) G_style = dict(style='simple', arrow=True, arrow_param={ 'width': 0.15, 'length': .3 }) # Item 1 v11 = D.vertex([D.x0, D.y0]) v12 = D.vertex(v11.xy, dx=opwidth) Sigma = D.operator([v11, v12]) Sigma.text("$\Sigma^{ep}$") # Symbol D.text(v12.x + txtpad, D.y0, "=") # Item 3 v21 = D.vertex([v12.x + 2 * txtpad, D.y0 - 0.3]) v22 = D.vertex(v21.xy, dx=linlen) G = D.line(v21, v22, **G_style) Ph = D.line(v21, v22, **Ph_style) # Symbol D.text(v22.x + txtpad, D.y0, "+") # Item 3
opwidth = 0.3 linlen = 0.8 W_style = dict(style='double wiggly elliptic', nwiggles=5) G_style = dict(style='double', arrow=True, arrow_param={'width':0.05}) D = Diagram(ax) 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)
tail_marker = 'o' W_style = dict(style = 'double wiggly', nwiggles=2) v_style = dict(style = 'simple wiggly', nwiggles=2) G_style = dict(style = 'double', arrow=True, arrow_param={'width':0.05}) D = Diagram(ax) arrow_param = dict(width=0.05) xy = [0.2, y0] v01 = D.verticle(xy, dy= side/2) v02 = D.verticle(xy, dy=-side/2) v03 = D.verticle(xy, dx=gammalen) gamma0 = D.operator([v01,v02,v03]) gamma0.text("$\Gamma$") D.text(.75, y0, "=", fontsize=30) v30 = D.verticle([1.05, y0]) n1 = np.array([-np.sqrt(3)/6, .5]) n2 = np.array([-np.sqrt(3)/6,-.5]) n3 = np.array([ np.sqrt(3)/3, .0]) chunkdist = .05 v310 = D.verticle(v30.xy, dxy=n1*chunkdist, marker='') v320 = D.verticle(v30.xy, dxy=n2*chunkdist, marker='') v330 = D.verticle(v30.xy, dxy=n3*chunkdist, marker='')
tail_marker = 'o' W_style = dict(style='double wiggly', nwiggles=2) v_style = dict(style='simple wiggly', nwiggles=2) G_style = dict(style='double', arrow=True, arrow_param={'width': 0.05}) D = Diagram(ax) arrow_param = dict(width=0.05) xy = [0.2, y0] v01 = D.verticle(xy, dy=side / 2) v02 = D.verticle(xy, dy=-side / 2) v03 = D.verticle(xy, dx=gammalen) gamma0 = D.operator([v01, v02, v03]) gamma0.text("$\Gamma$") D.text(.75, y0, "=", fontsize=30) v30 = D.verticle([1.05, y0]) n1 = np.array([-np.sqrt(3) / 6, .5]) n2 = np.array([-np.sqrt(3) / 6, -.5]) n3 = np.array([np.sqrt(3) / 3, .0]) chunkdist = .05 v310 = D.verticle(v30.xy, dxy=n1 * chunkdist, marker='') v320 = D.verticle(v30.xy, dxy=n2 * chunkdist, marker='') v330 = D.verticle(v30.xy, dxy=n3 * chunkdist, marker='')
opwidth = 0.3 linlen = 0.8 tail_marker = 'o' Gamma_width = .3 W_style = dict(style='double elliptic wiggly', nwiggles=4) G_style = dict(style='double', arrow=True, arrow_param={'width':0.05}) D = Diagram(ax) 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.1 xy[0] = 0.9 v21 = D.verticle(xy) xy[0] += linlen - Gamma_width / 2 v22 = D.verticle(xy) xy[0] += Gamma_width v24 = D.verticle(xy)
G.text("$G$", **text_prop) x = x0 + .55 D.text(x, y0, "=", fontsize=30) x = x0 + .7 v21 = D.verticle(xy=(x,y0)) v22 = D.verticle(v21.xy, dx=l) G0 = D.line(v21, v22, **G0_style) G0.text("$G_0$", **text_prop) x = x0 + 1.25 D.text(x, y0, "+", fontsize=30) x = x0 + 1.4 v11 = D.verticle(xy=(x,y0)) v12 = D.verticle(xy=(x+l,y0)) v13 = D.verticle(xy=(x+l+.2,y0)) v14 = D.verticle(xy=(x+l+.2+l,y0)) D.line(v11, v12, **G0_style) D.line(v13, v14, **G_style) O = D.operator([v12,v13]) O.text("$\Sigma$") D.plot() fig.savefig('pdf/hedin-dyson.pdf')
text_prop = dict(y=0.05, fontsize=20) G.text("$G$", **text_prop) x = x0 + .55 D.text(x, y0, "=", fontsize=30) x = x0 + .7 v21 = D.verticle(xy=(x, y0)) v22 = D.verticle(v21.xy, dx=l) G0 = D.line(v21, v22, **G0_style) G0.text("$G_0$", **text_prop) x = x0 + 1.25 D.text(x, y0, "+", fontsize=30) x = x0 + 1.4 v11 = D.verticle(xy=(x, y0)) v12 = D.verticle(xy=(x + l, y0)) v13 = D.verticle(xy=(x + l + .2, y0)) v14 = D.verticle(xy=(x + l + .2 + l, y0)) D.line(v11, v12, **G0_style) D.line(v13, v14, **G_style) O = D.operator([v12, v13]) O.text("$\Sigma$") D.plot() fig.savefig('pdf/hedin-dyson.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')
fig = plt.figure(figsize=(8,2)) ax = fig.add_axes([0,0,1,1], frameon=False) # It is best to keep the xlim/ylim ratio the same as the figure aspect ratio. ax.set_xlim(0, 1) ax.set_ylim(0, 0.25) y0 = sum(ax.get_ylim()) / 2 # Initialize diagram with the ax D = Diagram(ax) # Polarizability operator v11 = D.vertex([0.1, y0]) v12 = D.vertex(v11.xy, dx=0.15) P = D.operator([v11, v12], c=1.3) # c is the excentricity of the patch P.text("$P$") # Symbols D.text(.35, y0, "=", fontsize=30) # Propagator lines G_style = dict(style='double elliptic', ellipse_excentricity=-1.2, ellipse_spread=.3, arrow=True, arrow_param={'width':0.03}) v21 = D.vertex([0.45, y0]) v22 = D.vertex(v21.xy, dx=0.4) G1 = D.line(v22, v21, **G_style) G2 = D.line(v21, v22, **G_style)
import matplotlib.pyplot as plt from feynman import Diagram fig = plt.figure(figsize=(8,2)) ax = fig.add_axes([0,0,1,1], frameon=False) ax.set_xlim(0, 1) ax.set_ylim(0,.25) # Sigma operator D = Diagram(ax) v11 = D.vertex([.1, .08]) v12 = D.vertex(v11.xy, dx=.15) Sigma = D.operator([v11, v12]) Sigma.text("$\Sigma$") # Symbols D.text(v12.x+.1, v12.y, "=") # GW convolution v21 = D.vertex(v12.xy, dxy=[0.2, -0.04]) v22 = D.vertex(v21.xy, dx=0.4) l21 = D.line(v21, v22, style='double', arrow=True) # Specifying the number of wiggles and the amplitude of the wiggles l22 = D.line(v21, v22, style='double wiggly elliptic', nwiggles=5.5, amplitude=0.015) # 't' is the coordinate along the line (from 0 to 1)
linlen = 0.4 opwidth = 0.3 obj_spacing = .23 tail_marker = 'o' W_style = dict(style='double wiggly', nwiggles=2) v_style = dict(style='simple wiggly', nwiggles=2) G_style = dict(style='double', 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) epsilon = D.operator([v01, v02], c=1.1) epsilon.text("$\\varepsilon$", fontsize=50) D.text(v02.xy[0] + obj_spacing, y0, "=", fontsize=30) v30 = D.verticle(v02.xy, dx=2 * obj_spacing) n1 = np.array([-1., 0.]) n2 = np.array([1., 0.]) chunkdist = .03 v310 = D.verticle(v30.xy, dxy=n1 * chunkdist, marker='') v320 = D.verticle(v30.xy, dxy=n2 * chunkdist, marker='') chunklen = .025 v31 = D.verticle(v310.xy, dxy=n1 * chunklen, marker='')
linlen = 0.3 txtpad = 0.2 tail_marker = 'o' W_style = dict(style = 'double wiggly', nwiggles=2) v_style = dict(style = 'simple wiggly', nwiggles=2) G_style = dict(style = 'double', arrow=True, arrow_param={'width':0.05}) D = Diagram(ax) # Left hand size xy = [0.4, y0] v11 = D.vertex(xy, dy= side/2) v12 = D.vertex(xy, dy=-side/2) v13 = D.vertex(xy, dx=gammalen) gamma0 = D.operator([v11,v12,v13]) gamma0.text("$\Gamma$") # Symbol D.text(v13.x + txtpad, y0, "=") # Create a three-vertex dot. chunkdist = .03 chunklen = .03 chunkstyle=dict(arrow=False, linewidth=6.) v20 = D.vertex([v13.x + 2 * txtpad, y0]) v210 = D.vertex(v20.xy, angle=0., radius=chunkdist, marker='') v220 = D.vertex(v20.xy, angle=1./3, radius=chunkdist, marker='') v230 = D.vertex(v20.xy, angle=2./3, radius=chunkdist, marker='') v21 = D.vertex(v20.xy, angle=0., radius=chunkdist+chunklen, marker='') v22 = D.vertex(v20.xy, angle=1./3, radius=chunkdist+chunklen, marker='')
linlen = 0.4 opwidth = 0.3 obj_spacing = .23 tail_marker = 'o' W_style = dict(style='double wiggly', nwiggles=2) v_style = dict(style='simple wiggly', nwiggles=2) G_style = dict(style='double', 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) epsilon = D.operator([v01,v02], c=1.1) epsilon.text("$\\varepsilon$", fontsize=50) D.text(v02.xy[0]+obj_spacing, y0, "=", fontsize=30) v30 = D.verticle(v02.xy, dx=2*obj_spacing) n1 = np.array([-1.,0.]) n2 = np.array([ 1.,0.]) chunkdist = .03 v310 = D.verticle(v30.xy, dxy=n1*chunkdist, marker='') v320 = D.verticle(v30.xy, dxy=n2*chunkdist, marker='') chunklen = .025 v31 = D.verticle(v310.xy, dxy=n1*chunklen, marker='')
W = D.line(v01, v02, **W_style) text_prop = dict(y=0.06, fontsize=22) W.text("$W$", **text_prop) D.text(0.75, y0, "=", fontsize=30) xy = [0.9, y0] v21 = D.verticle(xy, marker=tail_marker) v22 = D.verticle(v21.xy, dx=linlen, marker=tail_marker) v = D.line(v21, v22, **v_style) v.text("$v$", **text_prop) D.text(1.45, y0, "+", fontsize=30) xy = [1.6, y0] v11 = D.verticle(xy, marker=tail_marker) v12 = D.verticle(v11.xy, dx=linlen) v13 = D.verticle(v12.xy, dx=opwidth) v14 = D.verticle(v13.xy, dx=linlen, marker=tail_marker) D.line(v11, v12, **v_style) D.line(v13, v14, **W_style) O = D.operator([v12, v13], c=1.3) O.text("$P$") D.plot() fig.savefig("pdf/hedin-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')
# Positon of the first vertex x0 = 0.2 y0 = sum(d.ax.get_ylim()) / 2 # Define line styles G_style = dict( style='double elliptic', ellipse_excentricity=-1.2, ellipse_spread=.3, arrow=True, arrow_param={'width':0.05}, ) # Draw the diagram v01 = d.vertex([x0, y0]) v02 = d.vertex(v01.xy, dx=opwidth) P = d.operator([v01,v02], c=1.3) P.text("$P$") d.text(v02.x+textpad, y0, "=", fontsize=30) v21 = d.vertex(v02.xy, dx=.4) v22 = d.vertex(v21.xy, dx=linlen, dy=Gamma_side/2) v23 = d.vertex(v21.xy, dx=linlen, dy=-Gamma_side/2) v24 = d.vertex(v21.xy, dx=linlen+Gamma_height) l21 = d.line(v22, v21, **G_style) l21 = d.line(v21, v23, **G_style) Gamma = d.operator([v22,v23, v24]) Gamma.text("$\Gamma$")
fig = plt.figure(figsize=(8, 2)) ax = fig.add_axes([0, 0, 1, 1], frameon=False) # It is best to keep the xlim/ylim ratio the same as the figure aspect ratio. ax.set_xlim(0, 1) ax.set_ylim(0, 0.25) y0 = sum(ax.get_ylim()) / 2 # Initialize diagram with the ax D = Diagram(ax) # Polarizability operator v11 = D.vertex([0.1, y0]) v12 = D.vertex(v11.xy, dx=0.15) P = D.operator([v11, v12], c=1.3) # c is the excentricity of the patch P.text("$P$") # Symbols D.text(.35, y0, "=", fontsize=30) # Propagator lines G_style = dict(style='double elliptic', ellipse_excentricity=-1.2, ellipse_spread=.3, arrow=True, arrow_param={'width': 0.03}) v21 = D.vertex([0.45, y0]) v22 = D.vertex(v21.xy, dx=0.4)
gammalen = side * np.sqrt(3) / 2 linlen = 0.4 tail_marker = 'o' W_style = dict(style = 'double wiggly', nwiggles=2) v_style = dict(style = 'simple wiggly', nwiggles=2) G_style = dict(style = 'double', arrow=True, arrow_param={'width':0.05}) D = Diagram(ax) xy = [0.2, y0] v01 = D.verticle(xy, dy= side/2) v02 = D.verticle(xy, dy=-side/2) v03 = D.verticle(xy, dx=gammalen) gamma0 = D.operator([v01,v02,v03]) gamma0.text("$\Gamma$") D.text(.75, y0, "=", fontsize=30) v30 = D.verticle([1.05, y0]) # Create a three-verticle dot. n1 = np.array([-np.sqrt(3)/6, .5]) n2 = np.array([-np.sqrt(3)/6,-.5]) n3 = np.array([ np.sqrt(3)/3, .0]) chunkdist = .05 v310 = D.verticle(v30.xy, dxy=n1*chunkdist, marker='') v320 = D.verticle(v30.xy, dxy=n2*chunkdist, marker='') v330 = D.verticle(v30.xy, dxy=n3*chunkdist, marker='')
# Various size opwidth = 1. linlen = 2. objspace = .8 wiggle_amplitude=.1 # Line styles Ph_style = dict(style='elliptic loopy', ellipse_spread=.6, xamp=.10, yamp=-.15, nloops=15) DW_style = dict(style='circular loopy', circle_radius=.7, xamp=.10, yamp=.15, nloops=18) G_style = dict(style='simple', arrow=True, arrow_param={'width':0.15, 'length': .3}) # Item 1 v1 = D.verticle([D.x0, D.y0]) v2 = D.verticle(v1.xy, dx=opwidth) Sigma = D.operator([v1,v2]) Sigma.text("$\Sigma^{ep}$") # Item 2 D.text(v2.x + objspace, D.y0, "=", fontsize=30) # Item 3 v1 = D.verticle([v2.x + 2 * objspace, D.y0 - 0.3]) v2 = D.verticle(v1.xy, dx=linlen) G = D.line(v1, v2, **G_style) Ph = D.line(v1, v2, **Ph_style) # Item 2 D.text(v2.x + objspace, D.y0, "+", fontsize=30) # Item 3
""" import matplotlib.pyplot as plt 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()
x0 = 0.2 y0 = sum(d.ax.get_ylim()) / 2 # Define line styles G_style = dict( style='double elliptic', ellipse_excentricity=-1.2, ellipse_spread=.3, arrow=True, arrow_param={'width': 0.05}, ) # Draw the diagram v01 = d.vertex([x0, y0]) v02 = d.vertex(v01.xy, dx=opwidth) P = d.operator([v01, v02], c=1.3) P.text("$P$") d.text(v02.x + textpad, y0, "=", fontsize=30) v21 = d.vertex(v02.xy, dx=.4) v22 = d.vertex(v21.xy, dx=linlen, dy=Gamma_side / 2) v23 = d.vertex(v21.xy, dx=linlen, dy=-Gamma_side / 2) v24 = d.vertex(v21.xy, dx=linlen + Gamma_height) l21 = d.line(v22, v21, **G_style) l21 = d.line(v21, v23, **G_style) Gamma = d.operator([v22, v23, v24]) Gamma.text("$\Gamma$")
opwidth = 0.3 linlen = 0.8 W_style = dict(style='double wiggly elliptic', nwiggles=5) G_style = dict(style='double', arrow=True, arrow_param={'width': 0.05}) D = Diagram(ax) 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)
W = D.line(v01, v02, **W_style) text_prop = dict(y=0.06, fontsize=22) W.text("$W$", **text_prop) D.text(.75, y0, "=", fontsize=30) xy = [0.9, y0] v21 = D.verticle(xy, marker=tail_marker) v22 = D.verticle(v21.xy, dx=linlen, marker=tail_marker) v = D.line(v21, v22, **v_style) v.text("$v$", **text_prop) D.text(1.45, y0, "+", fontsize=30) xy = [1.6, y0] v11 = D.verticle(xy, marker=tail_marker) v12 = D.verticle(v11.xy, dx=linlen) v13 = D.verticle(v12.xy, dx=opwidth) v14 = D.verticle(v13.xy, dx=linlen, marker=tail_marker) D.line(v11, v12, **v_style) D.line(v13, v14, **W_style) O = D.operator([v12, v13], c=1.3) O.text("$P$") D.plot() fig.savefig('pdf/hedin-W.pdf')