Quickstart#
This page gets you from a clean checkout to one working tutorial. The commands are meant to check the workflow, not to prove that a production calculation is converged.
Install#
Migdal supports Python 3.10 and newer on Linux. Install a compiler, OpenMP, and MPI development headers first:
sudo apt-get update
sudo apt-get install -y build-essential libgomp1 openmpi-bin libopenmpi-dev
Then install the Python dependencies and build the package in editable mode:
python -m pip install --upgrade pip setuptools wheel Cython
python -m pip install -r requirements.txt
MIGDAL_REQUIRE_OPENMP=1 python -m pip install -e .
Check that both optimized radial kernels are available:
python - <<'PY'
from migdal import radial
assert radial._cython_radial_available()
assert radial._qw_cython_available()
print("compiled radial kernels available")
PY
Run the first tutorial#
The first tutorial, Example 01, is serial. It checks a sparse-IR round trip for a known noninteracting Green’s function,
Run it from the repository root:
python examples/01_ir_noninteracting_gf/run.py --out-dir /tmp/migdal-example01
The output directory contains a short text report, a CSV file, and a figure of the reconstruction error. Passing this tutorial means the sparse-IR transforms are usable for the toy case.
Run a small radial smoke check#
Most radial scripts in the recommended example order are intended to run under MPI. For a quick flow check, use a deliberately small grid and write outputs outside the source tree:
mpirun -n 2 python examples/03_g0w0_takada_curve/run.py \
--n-density 2 \
--nq 40 \
--k-left 20 \
--k-right 20 \
--k-shell-min 8 \
--k-shell-max 80 \
--out-dir /tmp/migdal-example03-smoke
Treat this as a control-flow check. The grid is too small for production physics, especially at difficult densities. Use the example practical tips, convergence flags, and independent checks before interpreting a curve.
Build this website locally#
Install the documentation dependencies:
python -m pip install -r docs/requirements.txt
Build the HTML pages:
python -m sphinx -b html docs docs/_build/html
Open docs/_build/html/index.html in a browser.
Next steps:
Choose a method shows which example to run next.
Parameters explains the common driver settings and controls.
Quick trust checklist explains how to decide whether an output row is usable.