{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Method definition (::Type{QEDcore.ParticleStateful{DIR, SPECIES, ELEMENT} where ELEMENT<:QEDbase.AbstractFourMomentum})(QEDbase.AbstractFourMomentum) where {DIR<:QEDbase.ParticleDirection, SPECIES<:QEDbase.AbstractParticleType} in module QEDcore at /home/antonr/.julia/packages/QEDcore/uVldP/src/phase_spaces/create.jl:7 overwritten in module MetagraphOptimization at /home/antonr/.julia/packages/MetagraphOptimization/mvCVq/src/QEDprocesses_patch.jl:15.\n", "ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.\n" ] } ], "source": [ "using Revise\n", "using FeynmanDiagramGenerator" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "proc = GenericQEDProcess(3, 1, 1, 1, 0, 0)\n", "all_particles = Set()\n", "for fd in feynman_diagrams(proc)\n", " push!(all_particles, virtual_particles(proc, fd)...)\n", "end\n", "all_particles = sort([all_particles...])\n", "display(all_particles)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pairs = FeynmanDiagramGenerator.particle_pairs(all_particles)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "triples = FeynmanDiagramGenerator.total_particle_triples(all_particles)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "function n(vp::VirtualParticle)\n", " if !haskey(pairs, vp)\n", " return 1\n", " end\n", " s = 0\n", " for (l, r) in pairs[vp]\n", " s += n(l) * n(r)\n", " end\n", " return s\n", "end\n", "\n", "s = 0\n", "for (ph, e, p) in triples\n", " s += n(ph) * n(e) * n(p)\n", "end\n", "\n", "println(\"s: $s, should be: $(length(feynman_diagrams(proc)))\")\n", "println(\"number of triples: $(length(triples))\")\n", "\n", "sort(triples)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "generate_DAG(proc)" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.10.4", "language": "julia", "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.10.4" } }, "nbformat": 4, "nbformat_minor": 2 }