« home

Feynman Diagram 1

physicsquantum field theoryFeynman diagramspropagatorsGreen's functioneffective actioncetztikz

Basic Feynman diagram showing a dressed propagator (hatched vertex) connecting two external fields φₐ and φᵦ with incoming momentum p₁ and outgoing momentum p₂. The vertex represents the full momentum-dependent two-point Green's function G_k, which includes all quantum corrections. This is a fundamental building block for more complex quantum field theory calculations.


Feynman Diagram 1

  Download

PNGPDFSVG

  Code

  LaTeX

feynman-diagram-1.tex (13 lines)

\documentclass[tikz]{standalone}

\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}
  \draw (-2.25,0) node[left] {$\varphi_a$} -- (2.25,0) node[right] {$\varphi_b$};
  \draw[->,yshift=5pt] (-2,0) -- (-1,0) node[midway,above] {$p_1$};
  \draw[->,yshift=5pt] (1,0) -- (2,0) node[midway,above] {$p_2$};
  \draw[fill=white,postaction={pattern=north east lines}] (0,0) circle (0.25) node[above=5pt] {$G_{k,ab}(p_1,p_2)$};
\end{tikzpicture}
\end{document}

  Typst

feynman-diagram-1.typ (39 lines)

#import "@preview/cetz:0.3.4": canvas, draw
#import "@preview/modpattern:0.1.0": modpattern
#import draw: line, content, circle

#set page(width: auto, height: auto, margin: 8pt)

// Create hatched pattern for vertices
#let hatched = modpattern(
  (.1cm, .1cm),
  std.line(start: (0%, 100%), end: (100%, 0%), stroke: 0.5pt),
  background: white,
)

#canvas({
  // Define styles and constants
  let arrow-style = (
    mark: (end: "stealth", fill: black, scale: .5),
    stroke: (thickness: 0.75pt),
  )

  // Draw main horizontal line
  line((-2.25, 0), (2.25, 0), stroke: 1pt, name: "a-to-b")

  // Add phi labels
  content("a-to-b.start", $phi_a$, anchor: "east", padding: 3pt)
  content("a-to-b.end", $phi_b$, anchor: "west", padding: 3pt)

  // Add momentum arrows
  line((-2, 0.15), (-1, 0.15), ..arrow-style, name: "p1")
  content((rel: (0, 0.3), to: "p1.mid"), $p_1$)

  line((1, 0.15), (2, 0.15), ..arrow-style, name: "p2")
  content((rel: (0, 0.3), to: "p2.mid"), $p_2$)

  // Draw vertex with hatched pattern
  circle((0, 0), radius: 0.25, fill: hatched, name: "vertex")
  content((rel: (0, 0.5), to: "vertex"), $G_(k,a b)(p_1,p_2)$)
})