Repository navigation
FunctionalDiagrams 2.3.0
FunctionalDiagrams 2.3.0 — Feynman diagrams from functional derivatives.
Every object is now the functional derivative of a functional you write: Z, W = log Z, Γ[φ̄], Γ[φ̄, G], Φ[G]. The
shortcut functions are the checks. This release has 54 new public names (132 in all) and 805 tests, all passing.
New in this version
- Effective actions as objects.
EffectiveAction2PIgives the 2PI action Γ[G] = Φ[G] − Tr ln(−G⁻¹) − Tr(G₀⁻¹G − 1).
It is stationary at the Dyson equation, and with"MeanFields"it is Γ[φ̄, G] of Cornwall, Jackiw and Tomboulis.
EffectiveAction1PIgives the 1PI action Γ[φ̄]. Potthoff's functionals areLegendreTransformand
SelfEnergyFunctional. Traces are objects (TraceLog,OperatorTrace,OperatorKernel,ExpandTrace), and
ZeroDimensionalValuegives exact checks of the weights in zero dimensions. - Superfields: the functional of Nambu and Gor'kov.
"Statistics" -> "Superfield"treats 𝛙 = (ψ, ψ̄) as one Grassmann
field with an antisymmetric propagator 𝒢, so that the anomalous propagators are variables of Φ.
SuperfieldComponentsprojects the results on ψ and ψ̄: the gap functions, the BCS gap equation, the Gor'kov equations
and the particle–particle kernel.IrreducibleVertex[..., "Channel" -> "s" | "t" | "u" | All]gives the kernels of the
three channels from one functional. - Hubbard–Stratonovich fields in both directions.
HubbardStratonovichdecouples an interaction by an auxiliary field,
andIntegrateOutFieldintegrates a Gaussian field out. Φ[G, W] has the GW approximation as its first diagram, and
Φ[G, D] of electrons and phonons gives Migdal's self-energy. - Feynman integrals in dimensional regularization, with the MS-bar measure.
DiagramLoopIntegralandIntegrateLoops
turn the package's diagrams into integrals and do them,EpsilonExpandandPolePartexpand them in ε, and
BetaFunctionFromZandAnomalousDimensionFromZgive the RG functions. The examples include φ⁴ theory to two loops
and the Wilson–Fisher exponents. - QED at one loop.
QEDIntegrandwrites the diagrams as Dirac traces and products in d dimensions,IntegrateOneLoop
does any one-loop integral by Feynman parameters, andVertexFormFactorsextracts the form factors. The worked
examples are the electron self-energy, the vacuum polarization and the vertex, with Schwinger's α/2π in every gauge
and Z₁ = Z₂. - Smaller additions:
"ConvergenceFactor"in the Matsubara functions;DeclareCouplingand"Couplings"; the
double wavy line for W; better LaTeX for loop integrals; new messages where a mistake used to give a wrong result
without a warning.
Incompatible changes
- Weights of the pictures. The number in front of a picture times the values of its elements is the term, where an
interaction line stands for −V and a vertex for minus its coupling. So Fock has the weight +1, Hartree −1 and the φ⁴
tadpole +½. Only the displayed weights change, not the expressions;"Weights" -> "Coefficients"shows the coefficients. - QED with e > 0: the electron has charge −e and the vertex is +ieγ^μ (
QEDVertex -> {"Vertex", -I}). MeanFieldis displayed φ̄ = ⟨φ⟩. Derivatives with respect to antisymmetric kernels are antisymmetrized. The message
for a functional without sources isFunctionalDiagrams::nosources.
Fixed
EvaluateMatsubara,DiagramIntegrandandCuttingRuleImaginaryPartnow refuse anomalous propagators; before, they
evaluated them as normal lines.- A source inside a
LabelFunctionin a trace or kernel now has a derivative (it was 0). Several fixes of arguments and
messages; the paclet keeps the showcase and the manual in their folders, so that their assets are found in a clone too. - The required version is Mathematica 12.1 (
PacletDirectoryLoadand the format ofPacletInfo.wlneed it).
Pictures and documents
- Pictures: round loops of undirected propagators, cleaner wavy lines, stacked rails for six-point functions,
crossed circles at density points, blobs with ports in a fixed order, and labels that avoid lines. - Documents: the showcase has three parts (many-body theory in the order of a course, quantum field theory, tools). The
manual is reorganized around the principle. The README has a demo video and an interactive map of the functions.
Performance
- The canonical form and the derivatives are faster: the showcase script runs in about two minutes instead of almost
five, with the same results and pictures.
License
GNU General Public License, version 3 or later, with two additional terms (see LICENSE and NOTICE): the attribution
to the author must be kept, and modified versions must say that they are modified, by whom and when, and must not be
distributed under the name FunctionalDiagrams alone. When the package is loaded in a notebook, it prints a two-line
banner: the logo, the name and version, the author, the license, how to cite it (CITATION.cff) and links to the
repository and the manual. Scripts print nothing.
Install
PacletInstall["https://github.com/n4sd4q/FunctionalDiagrams/releases/download/v2.3.0/FunctionalDiagrams-2.3.0.paclet"]
Needs["FunctionalDiagrams`"]or download FunctionalDiagrams-2.3.0.paclet below and run PacletInstall["/path/to/FunctionalDiagrams-2.3.0.paclet"].
The paclet contains the showcase, the reference manual and the guided tour; the PDFs are also attached here. See
CHANGELOG.md for the full list of changes.