A TRIQS front-end for ana_cont. Give it a Gf or
BlockGf on an imaginary mesh, get the continued object back on a real-frequency mesh, with the
physics conventions applied once and the diagnostics needed to judge the result attached to the
output.
Needs TRIQS 4.0 and
ana_cont importable by the same python
interpreter. ana_cont is not on PyPI, so install it from source first:
git clone https://github.com/josefkaufmann/ana_cont && pip install ./ana_contThen build against TRIQS, as with any TRIQS application:
source path_to_triqs/share/triqs/triqsvars.sh
git clone https://github.com/harrisonlabollita/ana_cont_interface ana_cont_interface.src
mkdir ana_cont_interface.build && cd ana_cont_interface.build
cmake ../ana_cont_interface.src
make
make test
make installWithout -DCMAKE_INSTALL_PREFIX=... the package installs into TRIQS_ROOT and is
importable straight away. For a custom prefix, source the generated
share/triqs_ana_cont_interface/triqs_ana_cont_interfacevars.sh afterwards.
Build a problem record, then solve it. The record is data — inspect it, edit one element's model or error bar, solve it repeatedly with different settings.
from triqs_ana_cont_interface import gf_problem, solve, linear_grid, validate
prob = gf_problem(g_iw, grid=linear_grid(-10, 10, 501), error=1e-4, n_iw=60)
res = solve(prob, preblur=0.5)
res.g_w # Gf / BlockGf on MeshReFreq, complex retarded
res.a_w # the spectral matrix A = (i/2pi)(g_w - g_w^dag)
print(validate(res)) # per-element table of fit quality and spectral weightSelf-energies go through sigma_problem, which handles Sigma_inf and the model norm:
from triqs_ana_cont_interface import sigma_problem, tangent_grid
res = solve(sigma_problem(sigma_iw, grid=tangent_grid(20, 501), error=err, n_iw=400))
res.sigma_werror is required. ana_cont has no error estimator, and a defaulted error bar produces a
plausible-looking but meaningless spectrum.
doc/usage.md— imaginary time, self-energies, matrix-valued input, degenerate blocks, the preblur scan, solver optionsdoc/validation.md—backtransform,check_moments,validatedoc/conventions.md— what is applied internally, warnings, HDF5, limitationsdoc/testing.md— running the tests
Fermionic MeshImFreq and MeshImTime, Green's functions and self-energies, diagonal and
matrix-valued. No bosonic kernels and no Pade yet. Verified against real SrVO3 CTHYB data: the
quasiparticle weight from the continued Sigma(w) agrees with the Matsubara estimate to under 1%.
GPLv3, the same as TRIQS — see LICENSE.txt and COPYING.txt.
The continuation itself is done by ana_cont,
which is MIT-licensed and is not redistributed here.