NumericalEFT
Numerical effective field theory toolbox for quantum manybody problem.
Motivation
Effective field theory (EFT) models the correlation functions of quantum manybody systems with an effective action defined below a certain energy/momentum scale. EFT has been widely used in highenergy physics, nuclear physics, and condensed matter physics. Originally, EFT was developed assuming the principle of locality, which states that an object is influenced directly only by its immediate surroundings. If one observes a longrange interaction between two particles (say, the Coulomb interaction between two electrons), then such interaction must be mediated by an intermediate particle called a gauge boson (the photon in the previous example).
All known theories of the elementary particles in our universe are local theories, but it does not mean the local EFT rules everything. Below the energy scales most relevant for human life, the speed of light can be safely assumed to be infinite so that effective physical laws are governed by an absolute Newtonian time. In those systems, an event at one point can cause a simultaneous result at another point. The EFTs describe such systems are then nonlocal.
We create this package to extend the conventional EFT to incorporate the nonlocality. Such nonlocal EFTs are typically much more difficult to calculate compared to the conventional EFTs. Analytic solution is not feasible anymore, and numerical solution is usually the only option. We thus develop this numerical package to solve the problem and make nonlocal EFT a practical tool for realworld applications, such as the electron liquids in real materials, chiral EFT in the neutronrich matter, and all kinds of emergent lowenergy field theories in lattice models.
Features
The package NumericalEFT.jl
is a collection of several independent components, which are organized in the following infrastructure:
Most of the components have been published as independent packages, and you can test or use them separately. The packages are still fastevolving, but many are productionready.
Core packages: a set of selfcontained and generalpurpose tools.

Lehmann.jl: Discrete Lehmann representation (DLR) for imaginarytime/Matsubara frequency Green's function. For a generic Green's function at a temperature T, DLR is capable of representing it up to a given accuracy ϵ with a cost ~ log(1/T)log(1/ϵ), significantly cheaper than a naive approach with a cost ~ 1/(Tϵ).

FeynmanDiagram.jl: A minicompiler that compiles generic multiloop Feynman diagrams to a computational graph, which then can be efficiently manipulated or evaluated. The same type of computational graph has been the corner of neuralnetworkbased machine learning.

MCIntegration.jl: An adaptive Monte Carlo calculator for general high dimensional integral. It is one of the most robust and fastest Monte Carlo integration packages on the market.

CompositeGrids.jl: Composite Cheybeshev/Gaussian/logarithmic grid systems for highly efficient onedimensional interpolation and integration. It allows the user to combine different grids to represent nontrivial functions.

BrillouinZoneMeshes.jl: Compact mesh systems for representing and manipulating functions defined on generic Brillouin zone in 2D or 3D.
Toolbox packages: integrated software for quantum manybody problems

GreenFunc.jl: A software to calculate, manipulate and analyze the Green's functions and the vertex functions at the treelevel, which characterize the quantum field dynamics in the semiclassical limit ħ→0. It consists of:
 A container of generic Green's functions based on the discrete Lehmann representation and adaptive mesh systems.
 Several helper functions to generate typical Green's functions. For example, a set of functions to calculate the manybody Green's functions of a small cluster of Hubbardtype atoms is a smallscale exact diagonalization solver.
 Import(export) Green's function from(to) the Triqs.

MultiLoop.jl (WIP): A software to calculate and analyze the quantum manybody effects beyond the semiclassical limit. It consists of:
 Diagrammatic Monte Carlo calculator of multiloop Feynman diagrams of correlation functions and vertex functions.
 Renormalization technique to improve the perturbation theory.
 Renormalization Group analysis.
Applications

ElectronGas.jl: A package that uses the numerical EFT to explore manyfermion systems with singular interactions. It can be used to study the uniform electron gas problem, HertzMillis theory, etc.

QuantumMaterials.jl (WIP): Abinitio methods for real materials based on an effective field theory.
Installation
This package has been registered. So, simply type import Pkg; Pkg.add("NumericalEFT")
in the Julia REPL to install.
Questions and Contributions
Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems.