diff --git a/docs/main/.doctrees/background.doctree b/docs/main/.doctrees/background.doctree index 5845a04..a52cf20 100644 Binary files a/docs/main/.doctrees/background.doctree and b/docs/main/.doctrees/background.doctree differ diff --git a/docs/main/.doctrees/environment.pickle b/docs/main/.doctrees/environment.pickle index 3cea9e9..6fe1b30 100644 Binary files a/docs/main/.doctrees/environment.pickle and b/docs/main/.doctrees/environment.pickle differ diff --git a/docs/main/.doctrees/examples.doctree b/docs/main/.doctrees/examples.doctree index 999c49b..9659100 100644 Binary files a/docs/main/.doctrees/examples.doctree and b/docs/main/.doctrees/examples.doctree differ diff --git a/docs/main/ChangeLog.html b/docs/main/ChangeLog.html index 32535fb..6b25e85 100644 --- a/docs/main/ChangeLog.html +++ b/docs/main/ChangeLog.html @@ -62,6 +62,7 @@
statistic_t
specifier.
+By default, the DLR frequencies \(\omega_l\) are not chosen to be symmetrized
+about \(\omega = 0\), nor are the DLR imaginary time nodes \(\tau_k\)
+chosen to be symmetrized about \(\tau = \beta/2\) or the imaginary frequency
+nodes about \(i \nu_n = 0\). Indeed, this would represent an additional
+constraint in the pivoted Gram-Schmidt procedure used to select the points, and
+is not necessary in most applications. However, in some cases, it might be
+desirable to have symmetric frequencies and grids, and cppdlr
provides this
+functionality via symmetrization flags. Please see the section List of
+other cppdlr capabilities on the examples
+page for a list of cppdlr tests which showcase this functionality.
We make a small note about symmetrization for bosonic Green’s functions. In this +case, we always select the DLR frequency \(\omega = 0\), the DLR imaginary +time node \(\tau = \beta/2\), and the DLR imaginary frequency node +\(i \nu_n = 0\). The reason is as follows. A symmetric DLR imaginary frequency grid +containing the point \(i \nu_n = 0\) must have an odd number of points. +Since it is undesirable to disallow this point, and to make sure all grids have +the same number \(r\) of points, we force \(r\) to be odd. This requires +including in each grid, by hand, a single point of high symmetry, and then allowing the +pivoted Gram-Schmidt procedure to select the rest of the points symmetrically.
+For cppdlr
use cases which are not covered by examples in the examples
directory,
relevant unit tests in the test
directory can serve as useful examples. We
list several such use cases below.
imtime_ops.fit_scalar
,
-imtime_ops.fit_matrix
, and imtime_ops.fit_matrix_cmplx
in the file test/imtime_ops.cpp
.Obtain a DLR expansion by fitting to data in imaginary time: see the tests imtime_ops.fit_scalar
,
+imtime_ops.fit_matrix
, and imtime_ops.fit_matrix_cmplx
in the file test/imtime_ops.cpp
.
Compute the convolution of two DLR expansions: see the tests
imtime_ops.convolve_scalar_real
, imtime_ops.convolve_scalar_cmplx
,
imtime_ops.convolve_matrix_real
, and imtime_ops.convolve_matrix_cmplx
-in the file test/imtime_ops.cpp
.
test/imtime_ops.cpp
.
+Perform a “reflection” operation \(G(\tau) \mapsto G(\beta-\tau)\) on a
Green’s function: see the test imtime_ops.refl_matrix
in the file
-test/imtime_ops.cpp
.
test/imtime_ops.cpp
.
+Obtain a DLR expansion by interpolation on the DLR Matsubara frequency nodes:
see the tests imfreq_ops.interp_scalar
and imfreq_ops.interp_matrix
in
-the file test/imfreq_ops.cpp
.
test/imfreq_ops.cpp
.
+Obtain symmetrized DLR grids, and obtain a DLR expansion by interpolation on
+these grids: see the tests imtime_ops.interp_matrix_sym_fer
and
+imtime_ops.interp_matrix_sym_bos
in the file test/imtime_ops.cpp
for
+fermionic and bosonic Green’s functions, respectively, on a symmetric
+imaginary time grid. See the tests imfreq_ops.interp_matrix_sym_fer
and
+++
imfreq_ops.interp_matrix_sym_bos
in the filetest/imfreq_ops.cpp
for +fermionic and bosonic Green’s functions, respectively, on a symmetric +Matsubara frequency grid. All of these tests show how to obtain a symmetric +set of DLR frequencies.
Given a fixed self-energy, solve the Dyson equation in imaginary time to
obtain the Green’s function: see the tests dyson_it.dyson_vs_ed_real
,
dyson_it.dyson_vs_ed_cmplx
, and dyson_it.dyson_bethe
in the file
-test/dyson_it.cpp
.
test/dyson_it.cpp
.
+Solve the Dyson equation self-consistently in imaginary time, given an
expression for the self-energy in terms of the Green’s function: see the test
-dyson_it.dyson_bethe_fpi
in the file test/dyson_it.cpp
.
dyson_it.dyson_bethe_fpi
in the file test/dyson_it.cpp
.
+cppdlr
: Imaginary time calculations using the discrete Lehmann representation", "Installation", "Reporting issues"], "terms": {"thi": [0, 1, 3, 5], "i": [0, 1, 3, 4, 5], "initi": 0, "releas": [0, 5], "cppdlr": [0, 1, 5, 6], "c": [0, 1, 4], "librari": [0, 5], "implement": [0, 1, 4], "discret": [0, 3], "lehmann": [0, 3], "represent": [0, 3], "imaginari": 0, "time": 0, "green": [0, 3, 4], "": [0, 3, 4], "function": [0, 3, 4], "we": [0, 1, 3, 5], "thank": 0, "all": [0, 1, 3, 5, 6], "contributor": 0, "thoma": 0, "hahn": 0, "jason": [0, 4], "kay": [0, 4], "hugo": [0, 4], "u": [0, 1, 4, 5], "r": [0, 1, 3, 4], "strand": [0, 4], "nil": 0, "wentzel": 0, "page": [1, 3, 4, 6], "give": [1, 3], "brief": [1, 3, 4], "review": 1, "establish": 1, "definit": [1, 3], "convent": [1, 3], "us": [1, 3, 5], "which": [1, 3, 4, 5], "can": [1, 3, 4, 5], "vari": 1, "from": [1, 3, 4, 5], "one": [1, 3, 4], "refer": 1, "anoth": 1, "If": [1, 3, 4, 5], "you": [1, 3, 4, 5], "ar": [1, 3, 4, 5], "alreadi": 1, "familiar": [1, 4], "should": [1, 3, 4], "probabl": 1, "still": [1, 4], "read": [1, 3, 4], "section": [1, 3, 5], "rel": [1, 3], "below": [1, 3, 4, 5], "For": [1, 3], "more": [1, 3, 4], "detail": [1, 3, 4], "descript": [1, 3], "pleas": [1, 3, 4, 5, 6], "see": [1, 3, 5], "list": [1, 4], "main": [1, 3], "exampl": [1, 4], "concept": 1, "The": [1, 3, 4, 5], "singl": [1, 4], "particl": [1, 4], "defin": [1, 3], "term": [1, 3], "order": 1, "expect": 1, "valu": [1, 3], "g_": 1, "ab": 1, "tau": [1, 3], "langl": 1, "mathcal": 1, "t": 1, "c_a": 1, "c_b": 1, "dagger": 1, "0": [1, 3, 5], "rangl": 1, "where": [1, 5], "dagger_b": 1, "creation": 1, "state": 1, "b": [1, 4], "annihil": 1, "interv": 1, "beta": [1, 3], "invers": [1, 3], "temperatur": [1, 3], "extend": 1, "period": 1, "anti": 1, "properti": 1, "xi": 1, "boson": 1, "1": [1, 3, 5], "fermion": [1, 3], "respect": [1, 3], "spectral": [1, 3], "given": [1, 3], "g": [1, 3], "int_": 1, "infti": 1, "k": [1, 3], "omega": [1, 3], "rho": [1, 3], "d": 1, "correspond": [1, 3], "analyt": [1, 3], "continu": 1, "kernel": 1, "frac": [1, 3], "e": [1, 3], "take": [1, 3, 4], "fourier": [1, 3], "transform": [1, 3], "nu_n": [1, 3], "tanh": 1, "2": [1, 3, 5], "here": [1, 3], "n": [1, 3], "pi": 1, "2n": 1, "make": [1, 5], "low": 1, "rank": 1, "approxim": 1, "interpol": [1, 4], "decomposit": 1, "let": [1, 5], "dimensionless": 1, "cutoff": [1, 3], "paramt": 1, "lambda": [1, 3], "equiv": [1, 3], "omega_": [1, 3], "max": [1, 3], "outsid": 1, "In": [1, 3, 5], "practic": [1, 3], "typic": 1, "known": [1, 3], "estim": 1, "user": [1, 3, 4], "specifi": [1, 3, 5], "paramet": [1, 3], "case": [1, 3], "exactli": 1, "result": [1, 3], "converg": [1, 3], "error": [1, 3], "toler": [1, 3], "epsilon": [1, 3], "an": [1, 3, 5], "begin": [1, 3, 4], "equat": [1, 3], "approx": [1, 3], "sum_": [1, 3], "l": [1, 3], "omega_l": [1, 3], "widehat": [1, 3], "_l": [1, 3], "label": 1, "dlrexp": 1, "tag": [1, 5], "end": 1, "equal": 1, "accuraci": [1, 3], "determin": [1, 3], "carefulli": 1, "chosen": 1, "pivot": 1, "gram": 1, "schmidt": 1, "procedur": 1, "depend": [1, 4], "onli": [1, 3], "itself": [1, 5], "As": 1, "close": 1, "relat": 1, "intermedi": 1, "spars": 1, "ir": 1, "orthogon": 1, "non": [1, 3], "explicit": 1, "have": [1, 3, 5], "o": 1, "log": 1, "thu": 1, "enabl": 1, "highli": 1, "effici": [1, 4], "high": 1, "accur": 1, "number": [1, 3], "degre": 1, "freedom": 1, "independ": 1, "specif": [1, 4], "structur": 1, "beyond": 1, "its": [1, 3], "coeffici": [1, 3], "must": 1, "some": [1, 3], "sampl": 1, "done": [1, 3], "fit": [1, 3], "data": [1, 3], "via": [1, 4, 5], "ordinari": 1, "least": 1, "squar": 1, "node": [1, 3], "tau_k": [1, 3], "These": [1, 3], "also": [1, 3, 4, 5], "particular": [1, 3, 5], "solv": [1, 3], "linear": [1, 3], "system": [1, 3, 4], "problem": [1, 3, 6], "obtain": [1, 3], "evalu": [1, 4], "eqref": 1, "yield": [1, 3], "dlrexp_imfreq": 1, "so": [1, 3], "directli": [1, 3], "perform": [1, 3], "nu_": 1, "n_k": 1, "whereupon": 1, "sinc": [1, 3], "common": 1, "straightforwardli": 1, "repres": 1, "them": 1, "includ": [1, 3, 5], "explain": 1, "abov": [1, 3, 5], "switch": 1, "between": 1, "addit": [1, 5], "product": 1, "simpli": [1, 3], "multipli": 1, "grid": [1, 3], "h": 1, "f": 1, "recov": 1, "convolut": [1, 3], "full": 1, "int_0": 1, "requir": [1, 5], "condit": 1, "inner": 1, "etc": 1, "form": [1, 4], "vector": [1, 3], "matric": 1, "tensor": 1, "act": 1, "either": 1, "friendli": [1, 3], "manner": 1, "new": [1, 5], "request": 1, "github": [1, 4, 5, 6], "issu": [1, 4, 5], "first": [1, 3], "scale": 1, "becaus": [1, 3], "work": [1, 3, 4, 5], "variabl": [1, 3], "whenev": 1, "possibl": 1, "mani": 1, "unnecessari": 1, "explicitli": 1, "second": 1, "store": 1, "peculiar": 1, "call": [1, 3, 5], "subtl": 1, "awar": 1, "want": [1, 5], "suppli": [1, 3], "tldr": 1, "skip": 1, "guidelin": 1, "even": 1, "discuss": [1, 3], "than": [1, 3, 5], "appendix": 1, "paper": [1, 4], "follow": [1, 3, 4, 5], "5": 1, "normal": 1, "howev": [1, 3], "instead": [1, 5], "other": [1, 4, 5], "word": [1, 3], "neg": 1, "distanc": 1, "rather": [1, 3], "standard": 1, "absolut": 1, "straightforward": 1, "rel2ab": 1, "reason": 1, "ha": [1, 3], "do": [1, 3], "maintain": [1, 4], "float": 1, "arithmet": 1, "To": [1, 3, 4, 5], "sometim": [1, 3], "need": [1, 3, 4], "comput": [1, 3, 4], "veri": 1, "loss": 1, "due": 1, "catastroph": 1, "cancel": 1, "appear": 1, "extrem": 1, "physic": [1, 3], "regim": 1, "exploit": 1, "symmetri": 1, "avoid": 1, "ever": 1, "annoy": 1, "price": 1, "arithm": 1, "But": 1, "larg": [1, 3], "ignor": 1, "notic": 1, "your": [1, 3, 4, 5], "applic": [1, 4, 5], "provid": [1, 4], "carri": 1, "out": 1, "usual": 1, "hide": 1, "technic": 1, "complic": [1, 3], "situat": 1, "two": [1, 3], "option": [1, 4], "power": 1, "accord": 1, "instruct": [1, 4], "relev": [1, 3], "therebi": 1, "calcul": 1, "don": 1, "care": 1, "about": [1, 3, 4], "minor": 1, "digit": 1, "come": 1, "subtleti": 1, "convert": [1, 3], "abs2rel": 1, "start": [1, 3], "life": 1, "cannot": 1, "compat": 1, "subroutin": 1, "happen": 1, "equispac": [1, 3], "eqpts_rel": 1, "gener": [1, 3], "integ": 1, "whether": 1, "statistic_t": 1, "step": [3, 4], "most": 3, "basic": 3, "usag": 3, "within": 3, "overview": [3, 4], "background": [3, 4], "further": 3, "contain": [3, 4], "thorough": 3, "document": [3, 4, 5], "found": 3, "directori": [3, 5], "repositori": [3, 4, 5], "serv": 3, "good": [3, 4], "point": [3, 4], "write": 3, "own": 3, "code": [3, 5], "being": 3, "cover": 3, "test": [3, 5], "compon": 3, "though": 3, "thei": 3, "might": 3, "therefor": 3, "current": [3, 5], "temporari": 3, "measur": 3, "until": 3, "comprehens": 3, "set": 3, "program": 3, "file": 3, "dlr_interpol": 3, "cpp": 3, "know": [3, 5], "look": [3, 4, 5], "up": 3, "find": 3, "inform": [3, 4], "header": 3, "hpp": 3, "necessari": 3, "namespac": 3, "gfun": 3, "simpl": 3, "sum": 3, "delta": 3, "a_i": 3, "taken": 3, "each": 3, "symmetr": 3, "matrix": 3, "There": 3, "noth": 3, "special": 3, "except": 3, "conveni": 3, "matsubara": [3, 4], "space": 3, "direct": 3, "next": 3, "move": [3, 5], "orbit": 3, "indic": 3, "desir": 3, "our": [3, 4], "note": [3, 4], "took": 3, "less": 3, "width": 3, "safe": 3, "unknown": 3, "recommend": [3, 5], "after": 3, "both": [3, 4], "now": 3, "build_dlr_rf": 3, "input": 3, "31": 3, "shown": 3, "although": 3, "dimension": 3, "consid": 3, "back": 3, "origin": [3, 4], "figur": 3, "object": 3, "type": 3, "imtime_op": 3, "class": [3, 4], "respons": 3, "oper": [3, 4], "extract": 3, "get_itnod": 3, "method": 3, "would": 3, "could": 3, "involv": 3, "plot": 3, "vals2coef": 3, "basi": [3, 4], "constitut": 3, "character": 3, "ani": [3, 5], "coefs2ev": 3, "eqptsrel": 3, "format": [3, 4], "true": 3, "compar": 3, "pointwis": 3, "top": 3, "left": 3, "entri": 3, "g_00": 3, "correct": 3, "10": 3, "construct": [3, 4], "imfreq_op": 3, "analog": 3, "index": 3, "again": 3, "agreement": 3, "themselv": 3, "describ": 3, "unit": 3, "sever": 3, "fit_scalar": 3, "fit_matrix": 3, "fit_matrix_cmplx": 3, "convolve_scalar_r": 3, "convolve_scalar_cmplx": 3, "convolve_matrix_r": 3, "convolve_matrix_cmplx": 3, "reflect": 3, "mapsto": 3, "refl_matrix": 3, "interp_scalar": 3, "interp_matrix": 3, "fix": 3, "self": 3, "energi": 3, "dyson": 3, "dyson_it": 3, "dyson_vs_ed_r": 3, "dyson_vs_ed_cmplx": 3, "dyson_beth": 3, "consist": 3, "express": 3, "dyson_bethe_fpi": 3, "dlr": 4, "quantiti": 4, "It": 4, "download": [4, 5], "instal": 4, "unfamiliar": 4, "introduct": 4, "import": 4, "softwar": 4, "publish": 4, "research": 4, "cite": 4, "citat": 4, "help": 4, "encourag": 4, "develop": 4, "open": 4, "sourc": [4, 5], "scientif": 4, "kun": 4, "chen": 4, "olivi": 4, "parcollet": 4, "phy": 4, "rev": 4, "105": 4, "235115": 4, "2022": 4, "arxiv": 4, "2107": 4, "13094": 4, "companion": 4, "libdlr": 4, "briefer": 4, "commun": 4, "280": 4, "108458": 4, "2110": 4, "06765": 4, "avail": [4, 5], "languag": 4, "python": [4, 5], "pydlr": 4, "fortran": 4, "julia": 4, "jl": 4, "toolbox": 4, "interact": 4, "quantum": 4, "triq": 4, "version": 4, "custom": 4, "cmake": 4, "compil": 4, "clang": 4, "maco": 4, "expans": 4, "frequenc": 4, "domain": 4, "capabl": 4, "report": 4, "stabl": 5, "troubl": 5, "gcc": 5, "12": 5, "later": 5, "OR": 5, "15": 5, "bla": 5, "lapack": 5, "hdf5": 5, "openmp": 5, "mpi": 5, "nda": 5, "built": 5, "automat": 5, "wish": 5, "build": 5, "libclang": 5, "packag": 5, "sphinx": 5, "nbsphinx": 5, "myst_pars": 5, "sphinx_rtd_them": 5, "linkifi": 5, "py": 5, "latest": 5, "clone": 5, "git": 5, "http": [5, 6], "com": [5, 6], "flatironinstitut": [5, 6], "src": 5, "creat": 5, "mkdir": 5, "cd": 5, "dcmake_install_prefix": 5, "path_to_install_dir": 5, "run": 5, "go": 5, "checkout": 5, "4": 5, "configur": 5, "doption1": 5, "value1": 5, "doption2": 5, "value2": 5, "syntax": 5, "path": 5, "path_to_triq": 5, "path_to_cppdlr": 5, "debug": 5, "mode": 5, "dcmake_build_typ": 5, "disabl": 5, "dbuild_test": 5, "off": 5, "dbuild_document": 5, "ON": 5, "flag": 5, "command": 5, "3": 5, "dcmake_c_compil": 5, "dcmake_cxx_compil": 5, "dcmake_cxx_flag": 5, "stdlib": 5, "libc": 5, "doe": 5, "support": 5, "appleclang": 5, "homebrew": 5, "brew": 5, "llvm": 5, "prefix": 5, "opt": 5, "bin": 5, "bug": 6}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"changelog": 0, "version": [0, 5], "1": 0, "0": 0, "background": 1, "imaginari": [1, 3, 4], "time": [1, 3, 4], "green": 1, "": 1, "function": 1, "lehmann": [1, 4], "represent": [1, 4], "discret": [1, 4], "construct": 1, "dlr": [1, 3], "expans": [1, 3], "matsubara": 1, "frequenc": [1, 3], "domain": 1, "oper": 1, "basi": 1, "point": 1, "format": 1, "refer": [2, 4], "document": 2, "exampl": 3, "form": 3, "via": 3, "interpol": 3, "evalu": 3, "list": 3, "other": 3, "cppdlr": [3, 4], "capabl": 3, "calcul": 4, "us": 4, "get": 4, "start": 4, "relat": 4, "librari": 4, "content": 4, "instal": 5, "depend": 5, "step": 5, "custom": 5, "cmake": 5, "option": 5, "compil": 5, "clang": 5, "note": 5, "maco": 5, "user": 5, "report": 6, "issu": 6}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Installation": [[5, "installation"]], "Dependencies": [[5, "dependencies"]], "Installation steps": [[5, "installation-steps"]], "Versions": [[5, "versions"]], "Custom CMake options": [[5, "custom-cmake-options"]], "Compiling with clang": [[5, "compiling-with-clang"]], "Note for MacOS users": [[5, "note-for-macos-users"]], "cppdlr: Imaginary time calculations using the discrete Lehmann representation": [[4, "cppdlr-imaginary-time-calculations-using-the-discrete-lehmann-representation"]], "Getting started": [[4, "getting-started"]], "References": [[4, "references"]], "Related libraries": [[4, "related-libraries"]], "Contents:": [[4, null]], "Examples": [[3, "examples"]], "Example: form a DLR expansion via interpolation, and evaluate it in imaginary time and frequency": [[3, "example-form-a-dlr-expansion-via-interpolation-and-evaluate-it-in-imaginary-time-and-frequency"]], "List of examples": [[3, "list-of-examples"]], "List of other cppdlr capabilities": [[3, "list-of-other-cppdlr-capabilities"]], "Changelog": [[0, "changelog"]], "Version 1.0.0": [[0, "version-1-0-0"]], "Background": [[1, "background"]], "Imaginary time Green\u2019s functions and the Lehmann representation": [[1, "imaginary-time-green-s-functions-and-the-lehmann-representation"]], "Discrete Lehmann representation": [[1, "discrete-lehmann-representation"]], "Constructing a DLR expansion": [[1, "constructing-a-dlr-expansion"]], "DLR in the Matsubara frequency domain": [[1, "dlr-in-the-matsubara-frequency-domain"]], "Operations in the DLR basis": [[1, "operations-in-the-dlr-basis"]], "Imaginary time point format": [[1, "imaginary-time-point-format"]], "Matsubara frequency point format": [[1, "matsubara-frequency-point-format"]], "Reference documentation": [[2, "reference-documentation"]], "Reporting issues": [[6, "reporting-issues"]]}, "indexentries": {}})
\ No newline at end of file
+Search.setIndex({"docnames": ["ChangeLog", "background", "documentation", "examples", "index", "install", "issues"], "filenames": ["ChangeLog.md", "background.rst", "documentation.rst", "examples.rst", "index.rst", "install.rst", "issues.rst"], "titles": ["Changelog", "Background", "Reference documentation", "Examples", "cppdlr
: Imaginary time calculations using the discrete Lehmann representation", "Installation", "Reporting issues"], "terms": {"thi": [0, 1, 3, 5], "i": [0, 1, 3, 4, 5], "initi": 0, "releas": [0, 5], "cppdlr": [0, 1, 5, 6], "c": [0, 1, 4], "librari": [0, 5], "implement": [0, 1, 4], "discret": [0, 3], "lehmann": [0, 3], "represent": [0, 3], "imaginari": 0, "time": 0, "green": [0, 3, 4], "": [0, 3, 4], "function": [0, 3, 4], "we": [0, 1, 3, 5], "thank": 0, "all": [0, 1, 3, 5, 6], "contributor": 0, "thoma": 0, "hahn": 0, "jason": [0, 4], "kay": [0, 4], "hugo": [0, 4], "u": [0, 1, 4, 5], "r": [0, 1, 3, 4], "strand": [0, 4], "nil": 0, "wentzel": 0, "page": [1, 3, 4, 6], "give": [1, 3], "brief": [1, 3, 4], "review": 1, "establish": 1, "definit": [1, 3], "convent": [1, 3], "us": [1, 3, 5], "which": [1, 3, 4, 5], "can": [1, 3, 4, 5], "vari": 1, "from": [1, 3, 4, 5], "one": [1, 3, 4], "refer": 1, "anoth": 1, "If": [1, 3, 4, 5], "you": [1, 3, 4, 5], "ar": [1, 3, 4, 5], "alreadi": 1, "familiar": [1, 4], "should": [1, 3, 4], "probabl": 1, "still": [1, 4], "read": [1, 3, 4], "section": [1, 3, 5], "rel": [1, 3], "below": [1, 3, 4, 5], "For": [1, 3], "more": [1, 3, 4], "detail": [1, 3, 4], "descript": [1, 3], "pleas": [1, 3, 4, 5, 6], "see": [1, 3, 5], "list": [1, 4], "main": [1, 3], "exampl": [1, 4], "concept": 1, "The": [1, 3, 4, 5], "singl": [1, 4], "particl": [1, 4], "defin": [1, 3], "term": [1, 3], "order": 1, "expect": 1, "valu": [1, 3], "g_": 1, "ab": 1, "tau": [1, 3], "langl": 1, "mathcal": 1, "t": 1, "c_a": 1, "c_b": 1, "dagger": 1, "0": [1, 3, 5], "rangl": 1, "where": [1, 5], "dagger_b": 1, "creation": 1, "state": 1, "b": [1, 4], "annihil": 1, "interv": 1, "beta": [1, 3], "invers": [1, 3], "temperatur": [1, 3], "extend": 1, "period": 1, "anti": 1, "properti": 1, "xi": 1, "boson": [1, 3], "1": [1, 3, 5], "fermion": [1, 3], "respect": [1, 3], "spectral": [1, 3], "given": [1, 3], "g": [1, 3], "int_": 1, "infti": 1, "k": [1, 3], "omega": [1, 3], "rho": [1, 3], "d": 1, "correspond": [1, 3], "analyt": [1, 3], "continu": 1, "kernel": 1, "frac": [1, 3], "e": [1, 3], "take": [1, 3, 4], "fourier": [1, 3], "transform": [1, 3], "nu_n": [1, 3], "tanh": 1, "2": [1, 3, 5], "here": [1, 3], "n": [1, 3], "pi": 1, "2n": 1, "make": [1, 5], "low": 1, "rank": 1, "approxim": 1, "interpol": [1, 4], "decomposit": 1, "let": [1, 5], "dimensionless": 1, "cutoff": [1, 3], "paramt": 1, "lambda": [1, 3], "equiv": [1, 3], "omega_": [1, 3], "max": [1, 3], "outsid": 1, "In": [1, 3, 5], "practic": [1, 3], "typic": 1, "known": [1, 3], "estim": 1, "user": [1, 3, 4], "specifi": [1, 3, 5], "paramet": [1, 3], "case": [1, 3], "exactli": 1, "result": [1, 3], "converg": [1, 3], "error": [1, 3], "toler": [1, 3], "epsilon": [1, 3], "an": [1, 3, 5], "begin": [1, 3, 4], "equat": [1, 3], "approx": [1, 3], "sum_": [1, 3], "l": [1, 3], "omega_l": [1, 3], "widehat": [1, 3], "_l": [1, 3], "label": 1, "dlrexp": 1, "tag": [1, 5], "end": 1, "equal": 1, "accuraci": [1, 3], "determin": [1, 3], "carefulli": 1, "chosen": 1, "pivot": 1, "gram": 1, "schmidt": 1, "procedur": 1, "depend": [1, 4], "onli": [1, 3], "itself": [1, 5], "As": 1, "close": 1, "relat": 1, "intermedi": 1, "spars": 1, "ir": 1, "orthogon": 1, "non": [1, 3], "explicit": 1, "have": [1, 3, 5], "o": 1, "log": 1, "thu": 1, "enabl": 1, "highli": 1, "effici": [1, 4], "high": 1, "accur": 1, "number": [1, 3], "degre": 1, "freedom": 1, "independ": 1, "specif": [1, 4], "structur": 1, "beyond": 1, "its": [1, 3], "coeffici": [1, 3], "must": 1, "some": [1, 3], "sampl": 1, "done": [1, 3], "fit": [1, 3], "data": [1, 3], "via": [1, 4, 5], "ordinari": 1, "least": 1, "squar": 1, "node": [1, 3], "tau_k": [1, 3], "These": [1, 3], "also": [1, 3, 4, 5], "particular": [1, 3, 5], "solv": [1, 3], "linear": [1, 3], "system": [1, 3, 4], "problem": [1, 3, 6], "obtain": [1, 3], "evalu": [1, 4], "eqref": 1, "yield": [1, 3], "dlrexp_imfreq": 1, "so": [1, 3], "directli": [1, 3], "perform": [1, 3], "nu_": 1, "n_k": 1, "whereupon": 1, "sinc": [1, 3], "common": 1, "straightforwardli": 1, "repres": 1, "them": 1, "includ": [1, 3, 5], "explain": 1, "abov": [1, 3, 5], "switch": 1, "between": 1, "addit": [1, 5], "product": 1, "simpli": [1, 3], "multipli": 1, "h": 1, "f": 1, "recov": 1, "convolut": [1, 3], "full": 1, "int_0": 1, "requir": [1, 5], "condit": 1, "inner": 1, "etc": 1, "form": [1, 4], "vector": [1, 3], "matric": 1, "tensor": 1, "act": 1, "either": 1, "friendli": [1, 3], "manner": 1, "new": [1, 5], "request": 1, "github": [1, 4, 5, 6], "issu": [1, 4, 5], "first": [1, 3], "scale": 1, "becaus": [1, 3], "work": [1, 3, 4, 5], "variabl": [1, 3], "whenev": 1, "possibl": 1, "mani": 1, "unnecessari": 1, "explicitli": 1, "second": 1, "store": 1, "peculiar": 1, "call": [1, 3, 5], "subtl": 1, "awar": 1, "want": [1, 5], "suppli": [1, 3], "tldr": 1, "skip": 1, "guidelin": 1, "even": 1, "discuss": [1, 3], "than": [1, 3, 5], "appendix": 1, "paper": [1, 4], "follow": [1, 3, 4, 5], "5": 1, "normal": 1, "howev": [1, 3], "instead": [1, 5], "other": [1, 4, 5], "word": [1, 3], "neg": 1, "distanc": 1, "rather": [1, 3], "standard": 1, "absolut": 1, "straightforward": 1, "rel2ab": 1, "reason": 1, "ha": [1, 3], "do": [1, 3], "maintain": [1, 4], "float": 1, "arithmet": 1, "To": [1, 3, 4, 5], "sometim": [1, 3], "need": [1, 3, 4], "comput": [1, 3, 4], "veri": 1, "loss": 1, "due": 1, "catastroph": 1, "cancel": 1, "appear": 1, "extrem": 1, "physic": [1, 3], "regim": 1, "exploit": 1, "symmetri": 1, "avoid": 1, "ever": 1, "annoy": 1, "price": 1, "arithm": 1, "But": 1, "larg": [1, 3], "ignor": 1, "notic": 1, "your": [1, 3, 4, 5], "applic": [1, 4, 5], "provid": [1, 4], "carri": 1, "out": 1, "usual": 1, "hide": 1, "technic": 1, "complic": [1, 3], "situat": 1, "two": [1, 3], "option": [1, 4], "power": 1, "accord": 1, "instruct": [1, 4], "relev": [1, 3], "therebi": 1, "calcul": 1, "don": 1, "care": 1, "about": [1, 3, 4], "minor": 1, "digit": 1, "come": 1, "subtleti": 1, "convert": [1, 3], "abs2rel": 1, "start": [1, 3], "life": 1, "cannot": 1, "compat": 1, "subroutin": 1, "happen": 1, "equispac": [1, 3], "eqpts_rel": 1, "gener": [1, 3], "integ": 1, "whether": 1, "statistic_t": 1, "By": 1, "default": 1, "nor": 1, "inde": 1, "would": [1, 3], "constraint": 1, "select": 1, "necessari": [1, 3], "most": [1, 3], "might": [1, 3], "desir": [1, 3], "flag": [1, 5], "capabl": [1, 4], "test": [1, 3, 5], "showcas": 1, "small": 1, "note": [1, 3, 4], "alwai": 1, "A": 1, "contain": [1, 3, 4], "odd": 1, "undesir": 1, "disallow": 1, "sure": 1, "same": 1, "forc": 1, "each": [1, 3], "hand": 1, "allow": 1, "rest": 1, "step": [3, 4], "basic": 3, "usag": 3, "within": 3, "overview": [3, 4], "background": [3, 4], "further": 3, "thorough": 3, "document": [3, 4, 5], "found": 3, "directori": [3, 5], "repositori": [3, 4, 5], "serv": 3, "good": [3, 4], "point": [3, 4], "write": 3, "own": 3, "code": [3, 5], "being": 3, "cover": 3, "compon": 3, "though": 3, "thei": 3, "therefor": 3, "current": [3, 5], "temporari": 3, "measur": 3, "until": 3, "comprehens": 3, "set": 3, "program": 3, "file": 3, "dlr_interpol": 3, "cpp": 3, "know": [3, 5], "look": [3, 4, 5], "up": 3, "find": 3, "inform": [3, 4], "header": 3, "hpp": 3, "namespac": 3, "gfun": 3, "simpl": 3, "sum": 3, "delta": 3, "a_i": 3, "taken": 3, "symmetr": [3, 4], "matrix": 3, "There": 3, "noth": 3, "special": 3, "except": 3, "conveni": 3, "matsubara": [3, 4], "space": 3, "direct": 3, "next": 3, "move": [3, 5], "orbit": 3, "indic": 3, "our": [3, 4], "took": 3, "less": 3, "width": 3, "safe": 3, "unknown": 3, "recommend": [3, 5], "after": 3, "both": [3, 4], "now": 3, "build_dlr_rf": 3, "input": 3, "31": 3, "shown": 3, "although": 3, "dimension": 3, "consid": 3, "back": 3, "origin": [3, 4], "figur": 3, "object": 3, "type": 3, "imtime_op": 3, "class": [3, 4], "respons": 3, "oper": [3, 4], "grid": [3, 4], "extract": 3, "get_itnod": 3, "method": 3, "could": 3, "involv": 3, "plot": 3, "vals2coef": 3, "basi": [3, 4], "constitut": 3, "character": 3, "ani": [3, 5], "coefs2ev": 3, "eqptsrel": 3, "format": [3, 4], "true": 3, "compar": 3, "pointwis": 3, "top": 3, "left": 3, "entri": 3, "g_00": 3, "correct": 3, "10": 3, "construct": [3, 4], "imfreq_op": 3, "analog": 3, "index": 3, "again": 3, "agreement": 3, "themselv": 3, "describ": 3, "unit": 3, "sever": 3, "fit_scalar": 3, "fit_matrix": 3, "fit_matrix_cmplx": 3, "convolve_scalar_r": 3, "convolve_scalar_cmplx": 3, "convolve_matrix_r": 3, "convolve_matrix_cmplx": 3, "reflect": 3, "mapsto": 3, "refl_matrix": 3, "interp_scalar": 3, "interp_matrix": 3, "interp_matrix_sym_f": 3, "interp_matrix_sym_bo": 3, "show": 3, "how": 3, "fix": 3, "self": 3, "energi": 3, "dyson": 3, "dyson_it": 3, "dyson_vs_ed_r": 3, "dyson_vs_ed_cmplx": 3, "dyson_beth": 3, "consist": 3, "express": 3, "dyson_bethe_fpi": 3, "dlr": 4, "quantiti": 4, "It": 4, "download": [4, 5], "instal": 4, "unfamiliar": 4, "introduct": 4, "import": 4, "softwar": 4, "publish": 4, "research": 4, "cite": 4, "citat": 4, "help": 4, "encourag": 4, "develop": 4, "open": 4, "sourc": [4, 5], "scientif": 4, "kun": 4, "chen": 4, "olivi": 4, "parcollet": 4, "phy": 4, "rev": 4, "105": 4, "235115": 4, "2022": 4, "arxiv": 4, "2107": 4, "13094": 4, "companion": 4, "libdlr": 4, "briefer": 4, "commun": 4, "280": 4, "108458": 4, "2110": 4, "06765": 4, "avail": [4, 5], "languag": 4, "python": [4, 5], "pydlr": 4, "fortran": 4, "julia": 4, "jl": 4, "toolbox": 4, "interact": 4, "quantum": 4, "triq": 4, "version": 4, "custom": 4, "cmake": 4, "compil": 4, "clang": 4, "maco": 4, "expans": 4, "frequenc": 4, "domain": 4, "report": 4, "stabl": 5, "troubl": 5, "gcc": 5, "12": 5, "later": 5, "OR": 5, "15": 5, "bla": 5, "lapack": 5, "hdf5": 5, "openmp": 5, "mpi": 5, "nda": 5, "built": 5, "automat": 5, "wish": 5, "build": 5, "libclang": 5, "packag": 5, "sphinx": 5, "nbsphinx": 5, "myst_pars": 5, "sphinx_rtd_them": 5, "linkifi": 5, "py": 5, "latest": 5, "clone": 5, "git": 5, "http": [5, 6], "com": [5, 6], "flatironinstitut": [5, 6], "src": 5, "creat": 5, "mkdir": 5, "cd": 5, "dcmake_install_prefix": 5, "path_to_install_dir": 5, "run": 5, "go": 5, "checkout": 5, "4": 5, "configur": 5, "doption1": 5, "value1": 5, "doption2": 5, "value2": 5, "syntax": 5, "path": 5, "path_to_triq": 5, "path_to_cppdlr": 5, "debug": 5, "mode": 5, "dcmake_build_typ": 5, "disabl": 5, "dbuild_test": 5, "off": 5, "dbuild_document": 5, "ON": 5, "command": 5, "3": 5, "dcmake_c_compil": 5, "dcmake_cxx_compil": 5, "dcmake_cxx_flag": 5, "stdlib": 5, "libc": 5, "doe": 5, "support": 5, "appleclang": 5, "homebrew": 5, "brew": 5, "llvm": 5, "prefix": 5, "opt": 5, "bin": 5, "bug": 6}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"changelog": 0, "version": [0, 5], "1": 0, "0": 0, "background": 1, "imaginari": [1, 3, 4], "time": [1, 3, 4], "green": 1, "": 1, "function": 1, "lehmann": [1, 4], "represent": [1, 4], "discret": [1, 4], "construct": 1, "dlr": [1, 3], "expans": [1, 3], "matsubara": 1, "frequenc": [1, 3], "domain": 1, "oper": 1, "basi": 1, "point": 1, "format": 1, "symmetr": 1, "grid": 1, "refer": [2, 4], "document": 2, "exampl": 3, "form": 3, "via": 3, "interpol": 3, "evalu": 3, "list": 3, "other": 3, "cppdlr": [3, 4], "capabl": 3, "calcul": 4, "us": 4, "get": 4, "start": 4, "relat": 4, "librari": 4, "content": 4, "instal": 5, "depend": 5, "step": 5, "custom": 5, "cmake": 5, "option": 5, "compil": 5, "clang": 5, "note": 5, "maco": 5, "user": 5, "report": 6, "issu": 6}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"cppdlr: Imaginary time calculations using the discrete Lehmann representation": [[4, "cppdlr-imaginary-time-calculations-using-the-discrete-lehmann-representation"]], "Getting started": [[4, "getting-started"]], "References": [[4, "references"]], "Related libraries": [[4, "related-libraries"]], "Contents:": [[4, null]], "Installation": [[5, "installation"]], "Dependencies": [[5, "dependencies"]], "Installation steps": [[5, "installation-steps"]], "Versions": [[5, "versions"]], "Custom CMake options": [[5, "custom-cmake-options"]], "Compiling with clang": [[5, "compiling-with-clang"]], "Note for MacOS users": [[5, "note-for-macos-users"]], "Examples": [[3, "examples"]], "Example: form a DLR expansion via interpolation, and evaluate it in imaginary time and frequency": [[3, "example-form-a-dlr-expansion-via-interpolation-and-evaluate-it-in-imaginary-time-and-frequency"]], "List of examples": [[3, "list-of-examples"]], "List of other cppdlr capabilities": [[3, "list-of-other-cppdlr-capabilities"]], "Background": [[1, "background"]], "Imaginary time Green\u2019s functions and the Lehmann representation": [[1, "imaginary-time-green-s-functions-and-the-lehmann-representation"]], "Discrete Lehmann representation": [[1, "discrete-lehmann-representation"]], "Constructing a DLR expansion": [[1, "constructing-a-dlr-expansion"]], "DLR in the Matsubara frequency domain": [[1, "dlr-in-the-matsubara-frequency-domain"]], "Operations in the DLR basis": [[1, "operations-in-the-dlr-basis"]], "Imaginary time point format": [[1, "imaginary-time-point-format"]], "Matsubara frequency point format": [[1, "matsubara-frequency-point-format"]], "Symmetrized DLR grids": [[1, "symmetrized-dlr-grids"]], "Changelog": [[0, "changelog"]], "Version 1.0.0": [[0, "version-1-0-0"]], "Reference documentation": [[2, "reference-documentation"]], "Reporting issues": [[6, "reporting-issues"]]}, "indexentries": {}})
\ No newline at end of file