460 lines
24 KiB
Plaintext
460 lines
24 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"using Revise; using QEDbase; using QEDprocesses; using MetagraphOptimization; using BenchmarkTools; using DataStructures"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import MetagraphOptimization.gen_diagrams"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Diagram 1: Initial Particles: [k_in_1, e_in_1, k_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_out_1 + e_out_1 -> e_out_2, k_in_1 + e_in_1 -> e_in_2]\n",
|
||
" Tie: e_out_2 -- e_in_2\n",
|
||
"\n",
|
||
"Diagram 2: Initial Particles: [k_in_1, e_in_1, k_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + e_out_1 -> e_out_2, e_in_1 + k_out_1 -> e_in_2]\n",
|
||
" Tie: e_out_2 -- e_in_2\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Compton Scattering\n",
|
||
"fd = FeynmanDiagram(parse_process(\"ke->ke\", QEDModel()))\n",
|
||
"\n",
|
||
"diagrams = gen_diagrams(fd)\n",
|
||
"\n",
|
||
"c = 1\n",
|
||
"for d in diagrams\n",
|
||
" println(\"Diagram $c: $d\")\n",
|
||
" c += 1\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"BenchmarkTools.Trial: 3077 samples with 1 evaluation.\n",
|
||
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m1.461 ms\u001b[22m\u001b[39m … \u001b[35m 3.180 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 47.86%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m1.557 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m1.624 ms\u001b[22m\u001b[39m ± \u001b[32m275.482 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m3.59% ± 9.19%\n",
|
||
"\n",
|
||
" \u001b[39m▃\u001b[39m▅\u001b[39m▇\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m▇\u001b[39m▄\u001b[32m▃\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▁\n",
|
||
" \u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[32m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▅\u001b[39m▃\u001b[39m▄\u001b[39m▅\u001b[39m▃\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▃\u001b[39m▁\u001b[39m▁\u001b[39m▃\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▅\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m▁\u001b[39m▃\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▅\u001b[39m▆\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▇\u001b[39m \u001b[39m█\n",
|
||
" 1.46 ms\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 2.85 ms \u001b[0m\u001b[1m<\u001b[22m\n",
|
||
"\n",
|
||
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m2.16 MiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m18208\u001b[39m."
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Found 6 Diagrams for 2-Photon Compton\n",
|
||
"Diagram 1: Initial Particles: [k_in_1, k_in_2, e_in_1, k_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + e_in_1 -> e_in_2, k_out_1 + e_out_1 -> e_out_2]\n",
|
||
" Virtuality Level 2 Vertices: [k_in_2 + e_in_2 -> e_in_3]\n",
|
||
" Tie: e_out_2 -- e_in_3\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 2-Photon Compton Scattering\n",
|
||
"two_k_compton = FeynmanDiagram(parse_process(\"kke->ke\", QEDModel()))\n",
|
||
"\n",
|
||
"display(@benchmark gen_diagrams(two_k_compton))\n",
|
||
"diagrams = gen_diagrams(two_k_compton)\n",
|
||
"\n",
|
||
"println(\"Found $(length(diagrams)) Diagrams for 2-Photon Compton\")\n",
|
||
"println(\"Diagram 1: $(first(diagrams))\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"BenchmarkTools.Trial: 500 samples with 1 evaluation.\n",
|
||
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m 9.130 ms\u001b[22m\u001b[39m … \u001b[35m 16.858 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 11.40%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m 9.611 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m10.018 ms\u001b[22m\u001b[39m ± \u001b[32m802.928 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m4.38% ± 5.79%\n",
|
||
"\n",
|
||
" \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▃\u001b[39m▂\u001b[39m▅\u001b[39m█\u001b[39m▃\u001b[34m▂\u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
|
||
" \u001b[39m▄\u001b[39m▃\u001b[39m▅\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m▆\u001b[39m▅\u001b[39m▄\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▂\u001b[39m▃\u001b[39m▂\u001b[39m▁\u001b[39m▃\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m▅\u001b[39m█\u001b[39m▅\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▄\u001b[39m▄\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[39m▁\u001b[39m▂\u001b[39m▃\u001b[39m▃\u001b[39m▁\u001b[39m▃\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▂\u001b[39m \u001b[39m▃\n",
|
||
" 9.13 ms\u001b[90m Histogram: frequency by time\u001b[39m 12 ms \u001b[0m\u001b[1m<\u001b[22m\n",
|
||
"\n",
|
||
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m14.19 MiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m117375\u001b[39m."
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Found 24 Diagrams for 3-Photon Compton\n",
|
||
"Diagram 1: Initial Particles: [k_in_1, k_in_2, k_in_3, e_in_1, k_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + e_in_1 -> e_in_2, k_in_2 + e_out_1 -> e_out_2]\n",
|
||
" Virtuality Level 2 Vertices: [k_in_3 + e_in_2 -> e_in_3, k_out_1 + e_out_2 -> e_out_3]\n",
|
||
" Tie: e_in_3 -- e_out_3\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 3-Photon Compton Scattering\n",
|
||
"three_k_compton = FeynmanDiagram(parse_process(\"kkke->ke\", QEDModel()))\n",
|
||
"\n",
|
||
"display(@benchmark gen_diagrams(three_k_compton))\n",
|
||
"diagrams = gen_diagrams(three_k_compton)\n",
|
||
"\n",
|
||
"println(\"Found $(length(diagrams)) Diagrams for 3-Photon Compton\")\n",
|
||
"println(\"Diagram 1: $(first(diagrams))\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"BenchmarkTools.Trial: 27 samples with 1 evaluation.\n",
|
||
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m182.038 ms\u001b[22m\u001b[39m … \u001b[35m203.672 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m4.83% … 11.23%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m187.399 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m7.11%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m189.151 ms\u001b[22m\u001b[39m ± \u001b[32m 5.412 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m8.49% ± 2.73%\n",
|
||
"\n",
|
||
" \u001b[39m▃\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▃\u001b[39m \u001b[39m \u001b[34m█\u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
|
||
" \u001b[39m█\u001b[39m▇\u001b[39m▁\u001b[39m▇\u001b[39m▁\u001b[39m▇\u001b[39m▁\u001b[39m▇\u001b[39m▇\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▇\u001b[34m█\u001b[39m\u001b[39m▁\u001b[39m▇\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[32m▇\u001b[39m\u001b[39m▇\u001b[39m▁\u001b[39m▇\u001b[39m▇\u001b[39m▁\u001b[39m▇\u001b[39m▇\u001b[39m▇\u001b[39m▁\u001b[39m▇\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▇\u001b[39m▇\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▇\u001b[39m▇\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▇\u001b[39m \u001b[39m▁\n",
|
||
" 182 ms\u001b[90m Histogram: frequency by time\u001b[39m 204 ms \u001b[0m\u001b[1m<\u001b[22m\n",
|
||
"\n",
|
||
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m417.57 MiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m3203645\u001b[39m."
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Found 120 Diagrams for 4-Photon Compton\n",
|
||
"Diagram 1: Initial Particles: [k_in_1, k_in_2, k_in_3, k_in_4, e_in_1, k_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_3 + e_in_1 -> e_in_2, k_in_4 + e_out_1 -> e_out_2]\n",
|
||
" Virtuality Level 2 Vertices: [k_in_2 + e_out_2 -> e_out_3, k_out_1 + e_in_2 -> e_in_3]\n",
|
||
" Virtuality Level 3 Vertices: [k_in_1 + e_in_3 -> e_in_4]\n",
|
||
" Tie: e_out_3 -- e_in_4\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 4-Photon Compton Scattering\n",
|
||
"four_k_compton = FeynmanDiagram(parse_process(\"kkkke->ke\", QEDModel()))\n",
|
||
"\n",
|
||
"display(@benchmark gen_diagrams(four_k_compton))\n",
|
||
"diagrams = gen_diagrams(four_k_compton)\n",
|
||
"\n",
|
||
"println(\"Found $(length(diagrams)) Diagrams for 4-Photon Compton\")\n",
|
||
"println(\"Diagram 1: $(first(diagrams))\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"BenchmarkTools.Trial: 2 samples with 1 evaluation.\n",
|
||
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m3.210 s\u001b[22m\u001b[39m … \u001b[35m 3.254 s\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m10.57% … 11.76%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m3.232 s \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m11.17%\n",
|
||
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m3.232 s\u001b[22m\u001b[39m ± \u001b[32m30.898 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m11.17% ± 0.84%\n",
|
||
"\n",
|
||
" \u001b[34m█\u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \n",
|
||
" \u001b[34m█\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m \u001b[39m▁\n",
|
||
" 3.21 s\u001b[90m Histogram: frequency by time\u001b[39m 3.25 s \u001b[0m\u001b[1m<\u001b[22m\n",
|
||
"\n",
|
||
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m8.12 GiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m67276764\u001b[39m."
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Found 720 Diagrams for 5-Photon Compton\n",
|
||
"Diagram 1: Initial Particles: [k_in_1, k_in_2, k_in_3, k_in_4, k_in_5, e_in_1, k_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_3 + e_in_1 -> e_in_2, k_in_4 + e_out_1 -> e_out_2]\n",
|
||
" Virtuality Level 2 Vertices: [k_in_2 + e_out_2 -> e_out_3, k_in_5 + e_in_2 -> e_in_3]\n",
|
||
" Virtuality Level 3 Vertices: [k_in_1 + e_out_3 -> e_out_4, k_out_1 + e_in_3 -> e_in_4]\n",
|
||
" Tie: e_out_4 -- e_in_4\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# 5-Photon Compton Scattering\n",
|
||
"five_k_compton = FeynmanDiagram(parse_process(\"kkkkke->ke\", QEDModel()))\n",
|
||
"\n",
|
||
"display(@benchmark gen_diagrams(five_k_compton))\n",
|
||
"diagrams = gen_diagrams(five_k_compton)\n",
|
||
"\n",
|
||
"println(\"Found $(length(diagrams)) Diagrams for 5-Photon Compton\")\n",
|
||
"println(\"Diagram 1: $(first(diagrams))\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Diagram 1: Initial Particles: [p_in_1, e_in_1, p_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [p_out_1 + e_out_1 -> k_out_2, p_in_1 + e_in_1 -> k_out_1]\n",
|
||
" Tie: k_out_2 -- k_out_1\n",
|
||
"\n",
|
||
"Diagram 2: Initial Particles: [p_in_1, e_in_1, p_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [p_in_1 + p_out_1 -> k_out_2, e_in_1 + e_out_1 -> k_out_1]\n",
|
||
" Tie: k_out_2 -- k_out_1\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Bhabha Scattering\n",
|
||
"fd = FeynmanDiagram(parse_process(\"ep->ep\", QEDModel()))\n",
|
||
"\n",
|
||
"diagrams = gen_diagrams(fd)\n",
|
||
"\n",
|
||
"c = 1\n",
|
||
"for d in diagrams\n",
|
||
" println(\"Diagram $c: $d\")\n",
|
||
" c += 1\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Diagram 1: Initial Particles: [e_in_1, e_in_2, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [e_in_1 + e_out_1 -> k_out_1, e_in_2 + e_out_2 -> k_out_2]\n",
|
||
" Tie: k_out_1 -- k_out_2\n",
|
||
"\n",
|
||
"Diagram 2: Initial Particles: [e_in_1, e_in_2, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [e_in_1 + e_out_2 -> k_out_1, e_in_2 + e_out_1 -> k_out_2]\n",
|
||
" Tie: k_out_1 -- k_out_2\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Moller Scattering\n",
|
||
"fd = FeynmanDiagram(parse_process(\"ee->ee\", QEDModel()))\n",
|
||
"\n",
|
||
"diagrams = gen_diagrams(fd)\n",
|
||
"\n",
|
||
"c = 1\n",
|
||
"for d in diagrams\n",
|
||
" println(\"Diagram $c: $d\")\n",
|
||
" c += 1\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Diagram 1: Initial Particles: [p_in_1, e_in_1, k_out_1, k_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [e_in_1 + k_out_1 -> e_in_2, p_in_1 + k_out_2 -> e_out_1]\n",
|
||
" Tie: e_in_2 -- e_out_1\n",
|
||
"\n",
|
||
"Diagram 2: Initial Particles: [p_in_1, e_in_1, k_out_1, k_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [e_in_1 + k_out_2 -> e_in_2, p_in_1 + k_out_1 -> e_out_1]\n",
|
||
" Tie: e_in_2 -- e_out_1\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Pair annihilation\n",
|
||
"fd = FeynmanDiagram(parse_process(\"ep->kk\", QEDModel()))\n",
|
||
"\n",
|
||
"diagrams = gen_diagrams(fd)\n",
|
||
"\n",
|
||
"c = 1\n",
|
||
"for d in diagrams\n",
|
||
" println(\"Diagram $c: $d\")\n",
|
||
" c += 1\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Diagram 1: Initial Particles: [k_in_1, k_in_2, p_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + e_out_1 -> e_out_2, k_in_2 + p_out_1 -> e_in_1]\n",
|
||
" Tie: e_out_2 -- e_in_1\n",
|
||
"\n",
|
||
"Diagram 2: Initial Particles: [k_in_1, k_in_2, p_out_1, e_out_1]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + p_out_1 -> e_in_1, k_in_2 + e_out_1 -> e_out_2]\n",
|
||
" Tie: e_in_1 -- e_out_2\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Pair production\n",
|
||
"fd = FeynmanDiagram(parse_process(\"kk->pe\", QEDModel()))\n",
|
||
"\n",
|
||
"diagrams = gen_diagrams(fd)\n",
|
||
"\n",
|
||
"c = 1\n",
|
||
"for d in diagrams\n",
|
||
" println(\"Diagram $c: $d\")\n",
|
||
" c += 1\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Found 8 diagrams:\n",
|
||
"Diagram 1: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [e_in_1 + e_out_1 -> k_out_1, k_in_1 + p_out_1 -> e_in_2]\n",
|
||
" Virtuality Level 2 Vertices: [e_out_2 + k_out_1 -> e_out_3]\n",
|
||
" Tie: e_in_2 -- e_out_3\n",
|
||
"\n",
|
||
"Diagram 2: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + e_out_1 -> e_out_3, p_out_1 + e_out_2 -> k_out_1]\n",
|
||
" Virtuality Level 2 Vertices: [e_in_1 + e_out_3 -> k_out_2]\n",
|
||
" Tie: k_out_1 -- k_out_2\n",
|
||
"\n",
|
||
"Diagram 3: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [p_out_1 + e_out_1 -> k_out_1, k_in_1 + e_out_2 -> e_out_3]\n",
|
||
" Virtuality Level 2 Vertices: [e_in_1 + k_out_1 -> e_in_2]\n",
|
||
" Tie: e_out_3 -- e_in_2\n",
|
||
"\n",
|
||
"Diagram 4: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [p_out_1 + e_out_2 -> k_out_1, k_in_1 + e_in_1 -> e_in_2]\n",
|
||
" Virtuality Level 2 Vertices: [e_out_1 + k_out_1 -> e_out_3]\n",
|
||
" Tie: e_in_2 -- e_out_3\n",
|
||
"\n",
|
||
"Diagram 5: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [e_in_1 + e_out_1 -> k_out_1, k_in_1 + e_out_2 -> e_out_3]\n",
|
||
" Virtuality Level 2 Vertices: [p_out_1 + k_out_1 -> e_in_2]\n",
|
||
" Tie: e_out_3 -- e_in_2\n",
|
||
"\n",
|
||
"Diagram 6: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + p_out_1 -> e_in_2, e_in_1 + e_out_2 -> k_out_1]\n",
|
||
" Virtuality Level 2 Vertices: [e_out_1 + k_out_1 -> e_out_3]\n",
|
||
" Tie: e_in_2 -- e_out_3\n",
|
||
"\n",
|
||
"Diagram 7: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [p_out_1 + e_out_1 -> k_out_1, k_in_1 + e_in_1 -> e_in_2]\n",
|
||
" Virtuality Level 2 Vertices: [e_out_2 + k_out_1 -> e_out_3]\n",
|
||
" Tie: e_in_2 -- e_out_3\n",
|
||
"\n",
|
||
"Diagram 8: Initial Particles: [k_in_1, e_in_1, p_out_1, e_out_1, e_out_2]\n",
|
||
" Virtuality Level 1 Vertices: [k_in_1 + e_out_1 -> e_out_3, e_in_1 + e_out_2 -> k_out_1]\n",
|
||
" Virtuality Level 2 Vertices: [p_out_1 + k_out_1 -> e_in_2]\n",
|
||
" Tie: e_out_3 -- e_in_2\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Trident\n",
|
||
"fd = FeynmanDiagram(parse_process(\"ke->epe\", QEDModel()))\n",
|
||
"\n",
|
||
"diagrams = gen_diagrams(fd)\n",
|
||
"\n",
|
||
"println(\"Found $(length(diagrams)) diagrams:\")\n",
|
||
"c = 1\n",
|
||
"for d in diagrams\n",
|
||
" println(\"Diagram $c: $d\")\n",
|
||
" c += 1\n",
|
||
"end"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Julia 1.9.4",
|
||
"language": "julia",
|
||
"name": "julia-1.9"
|
||
},
|
||
"language_info": {
|
||
"file_extension": ".jl",
|
||
"mimetype": "application/julia",
|
||
"name": "julia",
|
||
"version": "1.9.4"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|