  We describe the second version (v2.0.0) of the code ADG that automatically
(1) generates all valid off-diagonal 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 $p$ for a Hamiltonian containing both two-body (four-legs) and three-body
(six-legs) interactions (vertices). All valid off-diagonal BMBPT diagrams of
order $p$ are systematically generated from the set of diagonal, i.e.,
unprojected, BMBPT diagrams. The production of the latter were described at
length in https://doi.org/10.1016/j.cpc.2018.11.023 dealing with the first
version of ADG. 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 $p$-tuple
time integral. The new diagrammatic rule generalizes the one already identified
in https://doi.org/10.1016/j.cpc.2018.11.023 to evaluate diagonal BMBPT
diagrams independently of their perturbative order and topology. The code ADG
is written in Python3 and uses the graph manipulation package NetworkX. 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.
