ADG: Automated generation and evaluation of many-body diagrams II. Particle-number projected Bogoliubov many-body perturbation theory

P. Arthuis,A. Tichai,J. Ripoche,T. Duguet
DOI: https://doi.org/10.1016/j.cpc.2020.107677
IF: 4.717
2021-04-01
Computer Physics Communications
Abstract:<p>We describe the second version (v2.0.0) of the code <strong><span class="monospace">ADG</span></strong> that automatically (1) generates all valid <em>off-diagonal</em> Bogoliubov many-body perturbation theory diagrams at play in particle-number projected Bogoliubov many-body perturbation theory (PNP-BMBPT) and (2) evaluates their algebraic expression to be implemented for numerical applications. This is achieved at any perturbative order <span class="math"><math>p</math></span> for a Hamiltonian containing both two-body (four-legs) and three-body (six-legs) interactions (vertices). All valid off-diagonal BMBPT diagrams of order <span class="math"><math>p</math></span> are systematically generated from the set of <em>diagonal</em>, i.e.,unprojected, BMBPT diagrams. The production of the latter were described at length in Ref. Arthuis et al. (2019) dealing with the first version of <strong><span class="monospace">ADG</span></strong>. The automated evaluation of off-diagonal BMBPT diagrams relies both on the application of algebraic Feynman's rules and on the identification of a powerful diagrammatic rule providing the result of the remaining <span class="math"><math>p</math></span>-tuple time integral. The new diagrammatic rule generalizes the one already identified in Ref. Arthuis et al. (2019) to evaluate diagonal BMBPT diagrams independently of their perturbative order and topology. The code <strong><span class="monospace">ADG</span></strong> is written in <em>Python3</em> and uses the graph manipulation package <em>NetworkX</em>. The code is kept flexible enough to be further expanded throughout the years to tackle the diagrammatics at play in various many-body formalisms that already exist or are yet to be formulated.</p><h3 class="u-h4 u-margin-m-top u-margin-xs-bottom">Program summary</h3><p><em>Program Title:</em> <span class="monospace">ADG</span></p><p><em>CPC Library link to program files:</em> <a href="https://dx.doi.org/10.17632/6h4xrydwfb.2">http://dx.doi.org/10.17632/6h4xrydwfb.2</a></p><p><em>Licensing provisions:</em> GPLv3</p><p><em>Programming language:</em> Python3</p><p><em>Journal reference of previous version:</em> P. Arthuis, T. Duguet, A. Tichai, R.-D. Lasseri and J.-P. Ebran, "ADG: Automated generation and evaluation of many-body diagrams I. Bogoliubov many-body perturbation theory", Computer Physics Communications 240 (2019), pp. 202-227.</p><p><em>Does the new version supersede the previous version?:</em> Yes.</p><p><em>Reasons for the new version:</em> Incorporation of a new formalism into the program.</p><p><em>Summary of revisions:</em> Addition of off-diagonal BMBPT to the formalisms for which diagrams can be generated, fix of a wrong symmetry factor, move of the codebase from Python2 to Python3 while maintaining support for Python2, various optimizations to reduce the time and memory necessary to the program.</p><p><em>Nature of problem:</em> As formal and numerical developments in many-body-perturbation-theory-based <em>ab initio</em> methods make higher orders reachable, manually producing and evaluating all the diagrams becomes rapidly untractable as both their number and complexity grow quickly, making it prone to mistakes and oversights.</p><p><em>Solution method:</em> Diagonal BMBPT diagrams are encoded as square matrices known as oriented adjacency matrices in graph theory, and then turned into graph objects using the <em>NetworkX</em> package. Off-diagonal BMBPT diagrams can then be generated from those graphs. Checks on the diagrams and evaluation of their time-integrated expression are eventually done on a purely diagrammatic basis. HF-MBPT diagrams are produced and evaluated as well using the same principle.</p>
physics, mathematical,computer science, interdisciplinary applications
What problem does this paper attempt to address?