1 Introduction

Differential equations are ubiquitous in physics. Their solutions are often expressed in terms of special functions. Well-known examples are the hypergeometric function, or the Hermite polynomials that appear in the solution of the quantum mechanical hydrogen atom. In perturbative quantum field theory, a crucial bottleneck is the evaluation of Feynman integrals. In particular, obtaining analytic or numerical results for higher-loop Feynman integrals is paramount for deriving more precise theory predictions for processes at the Large Hadron Collider. Because of this, substantial research efforts are dedicated to evaluating Feynman integrals. These integrals can be seen as solutions to linear partial differential equations (PDEs) with polynomial coefficients. Analyzing these PDEs and extracting useful information from them is an important problem in this field. In this paper, we analyze this problem from two perspectives. The first one consists of D-module techniques from algebraic analysis in mathematics, and the second one consists of dedicated tools developed for solving the specific differential equations satisfied by Feynman integrals.

In the first approach, one uses the fact that systems of linear PDEs generate ideals in the Weyl algebra, which is denoted by D. Powerful D-module techniques [55, 56] allow us to extract precious information from the PDEs. For instance, the singular locus of a D-ideal I describes where the solutions to the system of PDEs encoded by I may have singularities. The notion of a D-ideal being regular singular is inherently linked to its solutions having moderate growth—which is expected for Feynman integrals. The holonomic rank of a holonomic D-ideal tells us about the number of linearly independently solutions. It corresponds to the number of master integrals in the physics terminology. Finally, Gröbner basis methods allow us to compute canonical series solutions. These are solutions of a very special form: they are polynomials in the variables \(x_i\)’s and \(\log (x_i)\)’s, with coefficients in formal power series in the \(x_i\). In the regular holonomic case, the solution space is fully spanned by solutions of that particular form. We compute these solutions with the help of algebro-geometric properties and the Gröbner data of the D-ideal via an algorithm of Saito, Sturmfels, and Takayama (SST). Given a regular holonomic D-ideal I and a real weight vector w, this algorithm allows us to compute all terms up to a specified w-weight k in the canonical series solutions to I. These truncated series take the form

$$\begin{aligned} F_k(x) \,=\ x^A \cdot \hspace{-5mm} \sum _{\begin{array}{c} 0\le p\cdot w\le k,\, p\in C^*_{\mathbb {Z}}, \\ 0 \le b_j < \text {rank}(I) \end{array}} c_{pb} \, x^p\log (x)^b, \end{aligned}$$
(1.1)

where we use the multi-index notation \(x^a = x_1^{a_1} \cdots x_n^{a_n}\), and similarly for the logarithms. The index set \(C^*_{\mathbb {Z}}\) over which the sum in (1.1) runs can be read completely from the D-ideal; this will be made precise in the article.

The second approach builds on various techniques that have been developed for evaluating Feynman integrals. The latter satisfy Picard–Fuchs equations [45, 52], which are higher-order linear PDEs for individual Feynman integrals, or, equivalently, systems of first-order equations for master integrals, see [6, 38] for reviews. The Fuchsian nature of the singularities—which is expected for Feynman integrals—allows one to derive asymptotic expansions around singular points using a method of Wasow [65].

There have been various interactions between the relevant mathematics and physics communities already, resulting in several interesting works, for example, on determining the number of master integrals [1, 9, 47], on deriving Picard–Fuchs equations for Feynman integrals [45, 52], and on relating Feynman integrals and GKZ systems [3, 21, 27, 42, 43, 64]. However, to our knowledge, a systematic synthesis and comparison of D-module techniques and methods employed in high energy physics has not yet been done. In this work, we initiate such a comparison, with the aim of providing insights for both communities. For this initial study, we focus on a particular system of physically motivated PDEs and show how one obtains canonical series solutions of the form (1.1), both using the SST algorithm and Wasow’s method. In the latter, we capture the weight vector from the Gröbner techniques via an auxiliary variable.

Outline. Section 2 introduces the systems of PDEs we are investigating here, together with their origin in physics. Section 3 provides background on ideals in the Weyl algebra and their (multi-valued) holomorphic solutions that will be needed throughout this article. It also outlines how to compute canonical series solutions of regular holonomic D-ideals via the SST algorithm, which is based on Gröbner basis computations in the Weyl algebra. In Sect. 4, we compute canonical series solutions for the three-particle case using the SST algorithm. In Sect. 5, we recover these solutions via a method of Wasow for computing solutions of systems that are in Fuchsian form. We conclude with an outlook to future work in Sect. 6. Appendices A and B contain some background on conformal symmetry as well as on integrable connections. In Appendix C, we provide an application of this method to a four-loop Feynman integral.

2 Running example: a triangle integral and conformal differential equations

As a test case for this work, we study a particular class of Feynman integrals: the one-loop “triangle” Feynman integrals,

$$\begin{aligned} J^{\text {triangle}}_{d;\nu _1,\nu _2,\nu _3} \,=\, \int _{\mathbb {R}^d} \frac{\textrm{d}^d k}{\textrm{i} \pi ^{\frac{d}{2}}} \frac{1}{ (-|k|^2)^{\nu _1} \, (-|k+p_1|^2)^{\nu _2} \, (-|k+p_1+p_2|^2)^{\nu _3} }, \end{aligned}$$
(2.1)

which correspond to the Feynman graph shown in Fig. 1. These integrals are relevant to describe the scattering of three particles with momenta \(p_1,p_2,p_3 \in \mathbb {R}^d\) (with \(p_3=-p_1-p_2\) due to momentum conservation) in a d-dimensional Minkowski spacetime. We denote by \(|v|^2\) the Minkowski norm of the \(\mathbb {R}^d\)-vector v, i.e., \(|v|^2 \,{:}{=}\,v^{\top } \cdot g \cdot v\), where \(g = {\text {diag}}(1,-1,\ldots ,-1)\) is the metric tensor of Minkowski spacetime. The triangle Feynman integrals depend on the momenta of the scattering particles only through three independent variables \(x=\{x_1,x_2,x_3\}\),

$$\begin{aligned} x_1 \,=\, |p_1|^2, \qquad x_2 \,=\, |p_2|^2, \qquad x_3 \,=\, |p_1+p_2|^2. \end{aligned}$$
(2.2)

This becomes apparent in the Feynman parameterization,

$$\begin{aligned} J^{\text {triangle}}_{d;\nu _1,\nu _2,\nu _3} \ =\ \Gamma \left( \nu -\frac{d}{2}\right) \int _{\alpha _i \ge 0} \left( \prod _{i=1}^3 \textrm{d}\alpha _i \, \frac{\alpha _i^{\nu _i-1}}{\Gamma (\nu _i)} \right) \delta \left( \alpha _1 + \alpha _2 + \alpha _3 -1 \right) \, \frac{\mathcal {U}^{\nu -d}}{\mathcal {F}^{\nu -\frac{d}{2}}}, \end{aligned}$$
(2.3)

where \(\nu =\nu _1+\nu _2+\nu _3\), \(\delta \) is the Dirac delta function,

$$\begin{aligned} \mathcal {U} \,=\, \alpha _1+\alpha _2+\alpha _3, \qquad \text {and} \qquad \mathcal {F} \,=\, -\alpha _1 \alpha _2 x_1 - \alpha _2 \alpha _3 x_2 - \alpha _3 \alpha _1 x_3. \end{aligned}$$
(2.4)

The triangle integrals with integer exponents \(\nu _i\) were computed analytically in [11, 25, 59,60,61]. Expressions valid for generic values of the exponents \(\nu _i\) have been obtained in terms of Appell’s hypergeometric function \(F_4\) [4, 12, 24, 27] or triple-K integrals [16].

We approach the computation of these integrals by exploiting symmetries, which are encoded via differential equations. The triangle integrals are in fact solutions to a system of linear second-order PDEs,

$$\begin{aligned} P_i \bullet f(x) \,=\, 0 \, \qquad \text {for} \ i=1,2,3\,, \end{aligned}$$
(2.5)

originating from conformal symmetry, where

$$\begin{aligned} \begin{aligned} P_1&\,=\, 4(x_1\partial _1^2 - x_3\partial _3^2) + 2(2 + c_0 - 2c_1)\partial _1 -2(2 + c_0 - 2c_3)\partial _3,\\ P_2&\,=\, 4(x_2\partial _2^2 - x_3\partial _3^2) + 2(2 + c_0 - 2c_2)\partial _2 -2(2 + c_0 - 2c_3)\partial _3, \\ P_3&\,=\, (2c_0 - c_1 - c_2 - c_3) + 2(x_3\partial _3 + x_2\partial _2 + x_1\partial _1). \end{aligned} \end{aligned}$$
(2.6)

Here, \(c_0=d\) is the number of spacetime dimensions, and \(c_1,c_2,c_3\) are the conformal weights. We give some background on conformal symmetry and derive these PDEs in Appendix A. For

$$\begin{aligned} c_0 \,=\, d\,, \qquad c_1 \,=\, d - \nu _2 - \nu _3, \qquad c_2 \,=\, d - \nu _1 - \nu _3, \qquad c_3 \,=\, d - \nu _1 - \nu _2, \end{aligned}$$
(2.7)

the triangle integrals \(J^{\text {triangle}}_{d;\nu _1,\nu _2,\nu _3}\) are solutions to the conformal PDEs (2.5).

Fig. 1
figure 1

The Feynman graph representing the one-loop triangle Feynman integrals defined in Eq. (2.1). Due to momentum conservation, \(p_1+p_2+p_3=0\). Next to the internal edges, we record the corresponding exponent \(\nu _i\) as well as the loop momentum

Let us review a few useful properties of the operators \(P_i\) in (2.6). First of all, the operator \(P_3\) implies that the solutions are homogeneous of degree \((2 c_0-c_1-c_2-c_3)/2\). Secondly, the system (2.5) is symmetric under permutations of the variables \(x_i\) (together with the corresponding conformal weight \(c_i\)). While the operator \(P_3\) is manifestly symmetric, the permutations map \(P_1\) and \(P_2\) into \(\mathbb {Q}\)-linear combinations of themselves. As a result, the solution space is symmetric as well. For computing the solutions, we will focus on the physically motivated case \(c_0=4\), \(c_1 = c_2 = c_3=2\), which corresponds to the (classically) conformal \(\phi ^4\)-theory in four spacetime dimensions.Footnote 1 In this case, the operators from (2.6) become

$$\begin{aligned} \begin{aligned} \tilde{P}_1&\,=\, x_1\partial _1^2 - x_3\partial _3^2 + \partial _1 -\partial _3,\\ \tilde{P}_2&\,=\,x_2\partial _2^2 - x_3\partial _3^2 + \partial _2 -\partial _3,\\ \tilde{P}_3&\,=\, x_1\partial _1 + x_2\partial _2 + x_3\partial _3 + 1. \end{aligned} \end{aligned}$$
(2.8)

Later on, we will consider the \(D_3\)-ideal generated by the operators in (2.8) and will denote it by \(I_3.\) Through Eq. (2.7), we see that the relevant triangle integral has \(d=4\) and unit exponents, \(\nu _1=\nu _2=\nu _3=1\). A convenient analytic expression for the latter is

$$\begin{aligned} \begin{aligned} J^{\text {triangle}}_{4;1,1,1}(x_1,x_2,x_3)&\,=\, \frac{1}{\sqrt{\lambda }} \Bigg [ 2 \, \text {Li}_{2}\left( \tau _2 \right) + 2 \, \textrm{Li}_{2}\left( \tau _3 \right) + \frac{\pi ^2}{3} + \log \left( \frac{\tau _3}{\tau _2} \right) \log \\&\qquad \times \left( \frac{1-\tau _3}{1-\tau _2} \right) + \log \left( -{\tau _2} \right) \log \left( -\tau _3 \right) \Bigg ], \end{aligned} \end{aligned}$$
(2.9)

from [67], where the function \(\text {Li}_2\) denotes the dilogarithm (cf. [36]), \(\lambda \) is the polynomial

$$\begin{aligned} \lambda \,\,{:}{=}\,\, x_1^2 + x_2^2 + x_3^2 - 2(x_1x_2 + x_1x_3 + x_2x_3) \,\in \, \mathbb {C}[x_1,x_2,x_3], \end{aligned}$$
(2.10)

and

$$\begin{aligned} \tau _2 \,=\, - \, \frac{2 x_2}{x_1-x_2-x_3-\sqrt{\lambda }} \quad \text {and} \quad \tau _3 \,=\,- \, \frac{2 x_3}{x_1-x_2-x_3-\sqrt{\lambda }}. \end{aligned}$$
(2.11)

The function in Eq. (2.9) is a solution of \(I_3\). It is a multi-valued function and its analytic continuations are solutions of \(I_3\) as well. The \(\mathbb {C}\)-vector space of the analytic continuations of \(J^{\text {triangle}}_{4;1,1,1}\) is spanned by the four linearly independent functions

$$\begin{aligned} \begin{aligned} f_1(x_1,x_2,x_3)&\,=\, J^{\text {triangle}}_{4;1,1,1}(x_1,x_2,x_3), \\ f_2(x_1,x_2,x_3)&\,=\, \frac{1}{\sqrt{\lambda }} \log \left( \frac{x_1-x_2-x_3 - \sqrt{\lambda }}{x_1-x_2-x_3 + \sqrt{\lambda }} \right) , \\ f_3(x_1,x_2,x_3)&\,=\, \frac{1}{\sqrt{\lambda }} \log \left( \frac{x_2-x_1-x_3 - \sqrt{\lambda }}{x_2-x_1-x_3 + \sqrt{\lambda }} \right) , \\ f_4(x_1,x_2,x_3)&\,=\, \frac{1}{\sqrt{\lambda }}. \end{aligned} \end{aligned}$$
(2.12)

The functions \(f_2,\, f_3, \, f_4\) are called discontinuities of \(f_1 \) in physics, i.e., they are differences of \(f_1\) and an analytic continuation of \(f_1.\) This can be shown conveniently using the symbol method [33] (for a review, see, e.g., [30] and the references therein). We will see in Sect. 4 that the holonomic rank of \(I_3\) is 4 and that this implies that the four functions in (2.12) span the whole space of holomorphic solutions to the system of PDEs encoded by \(I_3\). All these functions have moderate growth when approaching points of the singular locus

$$\begin{aligned} \left\{ x_1 =0 \right\} \,\cup \, \left\{ x_2 =0\right\} \,\cup \, \left\{ x_3=0\right\} \,\cup \, \left\{ \lambda = 0 \right\} , \end{aligned}$$
(2.13)

and we will argue later that the D-ideal \(I_3\) is indeed regular singular. As anticipated, the solution space is symmetric under permutations of the variables x: the functions \(f_1\) and \(f_4\) are invariant, while \(f_2\) and \(f_3\) transform into \(\mathbb {Q}\)-linear combinations of themselves. In Sect. 5.2, we will recover these solutions by solving the Pfaffian system associated with \(I_3\).

3 D-ideals and canonical series solutions

We here recall basics about ideals in the Weyl algebra and their (multi-valued) holomorphic solutions that will be needed for the computation of canonical series solutions later on. This theory will also allow us to derive crucial information about our system of PDEs, such as the singular locus and number of holomorphic solutions, before even computing the solutions. For further details about the theory of D-modules and holonomic functions, we refer our readers to [40, 55, 56] and the references therein.

3.1 D-ideals and their solutions

The (n-th) Weyl algebra, denoted \(D_n\) or just D, is the free \(\mathbb {C}\)-algebra

$$\begin{aligned} D \, \,{:}{=}\,\, \mathbb {C}[x_1,\ldots ,x_n]\langle \partial _1,\ldots ,\partial _n \rangle \end{aligned}$$
(3.1)

generated by \(x_1,\ldots ,x_n,\partial _1,\ldots ,\partial _n\) modulo the following relations: all generators are assumed to commute, except \(\partial _i\) and \(x_i\). Their commutator is

$$\begin{aligned}{}[\partial _i,x_i] \,=\, \partial _i x_i -x_i \partial _i \,=\, 1. \end{aligned}$$
(3.2)

Elements of D are linear differential operators with polynomial coefficients:

$$\begin{aligned} D \,=\, \left\{ \sum _{k \in \mathbb {N}^n} a_k \partial _1^{k_1}\cdots \partial _n^{k_n} \, | \, a_k \in \mathbb {C}[x_1,\ldots ,x_n], \text { only finitely many }a_k \text { nonzero} \right\} . \end{aligned}$$
(3.3)

The rational Weyl algebra \(R_n=\mathbb {C}(x_1,\ldots ,x_n)\langle \partial _1,\ldots ,\partial _n\rangle \) is the ring of linear differential operators with coefficients in the field of rational functions \(\mathbb {C}(x_1,\ldots ,x_n) = \{ p/q \, | \, p,q \in \mathbb {C}[x_1,\ldots ,x_n], \, q\ne 0 \}\). We will denote the action of a differential operator P on a function f(x) by the symbol \(\bullet \). For instance, \(\partial \bullet f\) denotes \({\partial f}/{\partial x}\).

Example 3.1

The Airy equation

$$\begin{aligned} f''(x) - xf(x) \,=\, 0 \end{aligned}$$
(3.4)

is encoded by the operator \(P=\partial ^2 -x\in D\). The Airy functions \({\text {Ai}}\) and \({\text {Bi}}\) are solutions of P, i.e., \(P\bullet {\text {Ai}}=P \bullet {\text {Bi}}=0\). They span the 2-dimensional solution space of P. \(\diamond \)

A (left) D-ideal is a subset \(I\subset D\) that is closed under addition and multiplication by elements of D from the left. They encode systems of linear PDEs. For a vector \((u,v)\in \mathbb {R}^{2n}\), the (uv)-weight of \(x^{\alpha }\partial ^{\beta }\), \(\alpha ,\beta \in \mathbb {N}^n\), is \(u\cdot \alpha + v\cdot \beta \). By \({\text {ord}}_{(u,v)}(P)\), we denote the largest (uv)-weight among the monomials appearing in P. The characteristic ideal of a D-ideal I is the ideal \(\text {in}_{(0,1)}(I)\subset \mathbb {C}[x_1,\ldots ,x_n][\xi _1,\ldots ,x_n]\) generated by the parts of highest (0, 1)-weight of all differential operators in I, where (0, 1) denotes the vector \((0,\ldots ,0,1,\ldots ,1)\in \mathbb {R}^{2n}\), i.e., one puts weight 0 to all \(x_i\) and weight 1 to all \(\partial _i\). The characteristic ideal lives in the polynomial ring, where one replaces \(\partial _i\) by \(\xi _i\) to stress that they are now commuting variables. This is due to the fact that the commutator of two operators PQ has (0, 1)-weight strictly smaller than \(\deg (P)+\deg (Q)\). For \(n=1\), the initial \(\text {in}_{(0,1)}(P)\) is precisely the principal symbol of the differential operator P. The characteristic variety of I is

$$\begin{aligned} \text {Char}(I) \, \,{:}{=}\,\, V(\text {in}_{(0,1)}(I)) = \left\{ (x,\xi ) \,|\, p(x,\xi ) = 0 \text { for all } p\in \text {in}_{(0,1)}(I) \right\} \, \subset \, \mathbb {C}^{2n}. \end{aligned}$$
(3.5)

Here, \(\mathbb {C}^{2n}\) is the affine 2n-space \(\mathbb {C}_x^n\times \mathbb {C}_{\xi }^n\) with coordinates \(x_1,\ldots ,x_n,\, \xi _1,\ldots ,\xi _n\). A D-ideal is holonomic if \(\dim (\text {Char}(I))=n\). By Bernstein’s inequality, all components of \(\text {Char}(I)\) have dimension at least n; hence, a D-ideal I is holonomic if the dimension of its characteristic variety is smallest possible. The Zariski closure of the projection of \(\text {Char}(I){\setminus } \{\xi _1 = \cdots = \xi _n = 0 \}\) to the x-coordinates is the singular locus of I and is denoted by \(\text {Sing}(I) \subset \mathbb {C}_x^n\). Algebraically, \(\text {Sing}(I)\) is computed as the elimination ideal

$$\begin{aligned} \text {Sing}(I) \, = \, \left( \text {in}_{(0,1)}(I) \, :\langle \xi _1,\ldots ,\xi _n \rangle ^{(\infty )}\right) \, \cap \, \mathbb {C}[x_1,\ldots ,x_n], \end{aligned}$$
(3.6)

where \((I:J^{(\infty )})\) denotes the saturation of an ideal I by an ideal J, the definition of which we recall now. Let IJ be ideals in a polynomial ring \( \mathbb {C}[x_1,\ldots ,x_n]\). For \(k\in \mathbb {N}\), the ideal quotient is \((I:J^k) \,{:}{=}\,\{ p\in \mathbb {C}[x_1,\ldots ,x_n ] \, | \, pJ^k \subset I\}\). Then, the saturated ideal \((I:J^\infty )\) with respect to J is the \(\mathbb {C}[x_1,\ldots ,x_n]\)-ideal

$$\begin{aligned} \left( I:J^\infty \right) \ \,{:}{=}\,\ \bigcup _{k\ge 1} \left( I:J^k\right) . \end{aligned}$$
(3.7)

Definition 3.2

The holonomic rank of a D-ideal I is

$$\begin{aligned} \text {rank}(I) \,{:}{=}\,\dim _{\mathbb {C}(x_1,\ldots ,x_n)} \left( R_n/R_nI \right) . \end{aligned}$$
(3.8)

If I is holonomic, it follows that \(\text {rank}(I)<\infty \). The reverse implication is not true. The holonomic rank can be computed as the number of standard monomials for a Gröbner basis of I in the rational Weyl algebra, see Sect. 3.2 for more details.

Theorem 3.3

(Cauchy–Kovalevskaya–Kashiwara) Let I be a holonomic \(D_n\)-ideal. On a simply connected domain \(U\subset \mathbb {C}^n{\setminus } \text {Sing}(I)\), the \(\mathbb {C}\)-vector space of holomorphic solutions to I on U has dimension \(\text {rank}(I)\).

Remark 3.4

In Theorem 3.3, finite holonomic rank is sufficient for the statement to hold. One arrives at a holonomic D-ideal by taking the Weyl closure (see Definition 3.5). \(\diamond \)

A function f is called holonomic if its annihilator

$$\begin{aligned} \text {Ann}_{D}(f) \, \,{:}{=}\,\, \left\{ P\in D \, | \, P\bullet f = 0\right\} \, \end{aligned}$$
(3.9)

is a holonomic D-ideal. Numerous functions in the sciences are holonomic, e.g., hypergeometric functions, many trigonometric functions, some probability distributions, and many special functions such as Airy’s or Bessel’s functions, and polylogarithms. Zeilberger [66] was the first to study holonomic functions in an algorithmic way.

If all solutions to a \(D_1\)-ideal I have moderate growth (cf. [62, p. 146]) when approaching the singular locus of I, including at \(\infty \) (and at boundary components of a compactification, respectively), the \(D_1\)-ideal is called regular (singular), and irregular singular otherwise. For \(n>1\), it is more involved to read if a \(D_n\)-ideal is regular singular.

Given an annihilating D-ideal of some functions, there is a straightforward way to slightly enlarge it, which is at the same time of theoretical interest: the Weyl closure.

Definition 3.5

The Weyl closure of a \(D_n\)-ideal I, denoted W(I) is the \(D_n\)-ideal

$$\begin{aligned} W(I) \, \,{:}{=}\,\, R_n I \cap D_n. \end{aligned}$$
(3.10)

Clearly, \(I\subseteq W(I)\). Hence, for the singular locus and the space of holomorphic solutions to the system of PDEs encoded by I, one has

$$\begin{aligned} \text {Sing}(I) \,\supseteq \, \text {Sing}(W(I)) \quad \text {and} \quad \mathcal {S}\text {ol}(I) \,\supseteq \, \mathcal {S}\text {ol}(W(I)). \end{aligned}$$
(3.11)

Moreover, \(\text {rank}(I)=\text {rank}(W(I))\), since \(R_n I = R_nW(I)\). Since every element Q of W(I) can be written as \(Q=r\cdot P\) for some \(r\in \mathbb {C}(x_1,\ldots ,x_n)\) and \(P\in I\), we also have the inclusion \(\mathcal {S}\text {ol}(I)\subseteq \mathcal {S}\text {ol}(W(I)).\) Hence, \(\mathcal {S}\text {ol}(I)=\mathcal {S}\text {ol}(W(I))\). In summary, a D-ideal I and its Weyl closure W(I) have the same solution space, but W(I) might contain additional operators that annihilate all solutions of I. If \(\text {rank}(I)< \infty \), it does not follow that I itself is holonomic; but there is a rescue: taking the Weyl closure turns I into a holonomic D-ideal. Hence, techniques that are valid for holonomic D-ideals can be applied to non-holonomic D-ideals of finite holonomic rank by passing to their Weyl closure.

3.2 Pfaffian systems

If I is a holonomic D-ideal, the D-module D/I gives rise to a vector bundle of rank \(\text {rank}(I)\), say \(\text {rank}(I)=m\), with an integrable connection induced by the action of D on D/I. We refer the interested readers to Appendix B, where we explain this geometric interpretation. In particular, the origin of the integrability conditions of Pfaffian systems becomes visible there. Here, we stick to what is needed for the sake of our computations in this paper.

Let \(S= \{ s_1,s_2,\ldots ,s_m \}\) be the set of standard monomials of I in \(R_n\) for a chosen term ordering \(\prec \), i.e., those monomials \( \partial ^b\), \(b \in \mathbb {N}^n\), that are not contained in the initial ideal of I; cf. [55, p. 33] for more details. Without loss of generality, we can assume \(s_1=1\). Let \(f\in \mathcal {S}\text {ol}(I)\) be a solution to I and let \(F=(f,s_2\bullet f, \ldots , s_m \bullet f)\). Since \(\text {rank}(I)=m\), there exist unique matrices \(P_1,\ldots ,P_n\in \mathbb {C}(x_1,\ldots ,x_n)^{m\times m}\) such that

$$\begin{aligned} \partial _i \bullet F \,=\, P_i \cdot F \qquad \text {for }\ i=1,\ldots ,n. \end{aligned}$$
(3.12)

The matrices \(P_i\) can be computed via a Gröbner basis reduction (cf. [56, p. 23]). The system in (3.12) is the Pfaffian system of I for the chosen term ordering on the Weyl algebra. The matrices \(P_i\) obey the integrability condition, which translates as

$$\begin{aligned} P_i \cdot P_j - P_j \cdot P_i \ =\ \partial _i \bullet P_j - \partial _j \bullet P_i \qquad \text {for all } i,j, \end{aligned}$$
(3.13)

On the right hand side of (3.13), entry-wise differentiation the matrices \(P_i\) is meant.

3.3 Indicial ideals and the Nilsson ring

We first recall some results from [55, Sections 2.2–2.6] in Theorems 3.63.16, in order to present the overall strategy to compute solutions of our D-ideals. Here and throughout the rest of the file, weight vectors for the Weyl algebra are allowed to be taken from

$$\begin{aligned} W \,\,{:}{=}\,\, \left\{ (u,v)\in \mathbb {R}^{2n} \, |\, u_i+v_i \ge 0, \, i=1,\ldots ,n \right\} \,. \end{aligned}$$
(3.14)

Among others, W contains the set \(\{(-w,w) | w\in \mathbb {R}^n\}\). For a weight vector \((u,v)\in \mathbb {R}^{2n}\) and \(P\in D_n\), the initial form \(\text {in}_{(u,v)}(P)\) of P denotes the part of P of maximal (uv)-weight. For weights of the form \((-w,w)\), one denotes the initial form simply by \(\text {in}_w(P)\). Each weight vector (uv) induces an increasing filtration \(F_{(u,v)}^\bullet (D_n)\) of the Weyl algebra by the (uv)-weight. For weights of the form \((-w,w)\), the associated graded ring

$$\begin{aligned} {\text {gr}}_{(-w,w)}\left( D_n\right) \,=\, \bigoplus _k \left( F_{(-w,w)}^k\left( D_n\right) /F_{(-w,w)}^{k-1}\left( D_n\right) \right) \end{aligned}$$
(3.15)

is isomorphic to the Weyl algebra itself, cf. [55, p. 4]. For \((u,v)=(0,1)\in \mathbb {R}^{2n}\), the associated graded ring \({\text {gr}}_{(0,1)}(D_n)\) is the polynomial ring \(\mathbb {C}[x_1,\ldots ,x_n][\partial _1,\ldots ,\partial _n]\), in which case one typically replaces \(\partial _i\) by \(\xi _i\) to highlight the commutativity of the variables. The initial ideal \(\text {in}_{(u,v)}(I)\) of a \(D_n\)-ideal I is the ideal generated by \(\text {in}_{(u,v)}(P)\) of all \(P\in I\). It naturally lives in the graded ring \({\text {gr}}_{(u,v)}(D_n)\). The initial ideal for the weight \((0,1)\in \mathbb {R}^{2n}\) is exactly the characteristic ideal of the \(D_n\)-ideal, which was introduced in Sect. 3.1.

In what follows, we focus on weights of the form \((-w,w)\). The following theorem summarizes Theorems 2.2.1 and 2.5.1 of [55] about the holonomic rank of the initial ideal.

Theorem 3.6

Let I be a holonomic \(D_n\)-ideal and w any weight vector in \(\mathbb {R}^n\). Then, also the initial ideal \(\text {in}_{(-w,w)}(I)\) is holonomic and \(\text {rank}(\text {in}_{(-w,w)}(I))\le \text {rank}(I).\) If I is regular holonomic, then \(\text {rank}(I)=\text {rank}(\text {in}_{(-w,w)}(I)).\)

Theorem 3.7

([55, Theorem 2.3.3]) Let I be a \(D_n\)-ideal.

  1. (1)

    I is torus-fixed if and only if \(\text {in}_{(-w,w)}(I)=I\) for all \(w\in \mathbb {R}^n\).

  2. (2)

    If w is generic for I, then \(\text {in}_{(-w,w)}(I)\) is torus-fixed.

For the precise definition of what “generic” means here, we refer to the later Sect. 4.1.

We are going to exploit that distractions of torus-fixed ideals (such as indicial ideals) take on a very special form. The indicial ideal of I with respect to w is the distraction of the initial ideal, i.e., the \(\mathbb {C}[\theta _1,\ldots ,\theta _n]\)-ideal

$$\begin{aligned} \text {ind}_w(I) \, \,{:}{=}\,\, R_n \cdot \text {in}_{(-w,w)}(I)\cap \mathbb {C}[\theta _1,\ldots ,\theta _n], \end{aligned}$$
(3.16)

where \(\theta _i=x_i\partial _i\) denotes the ith Euler operator.

Definition 3.8

The zeros

$$\begin{aligned} V\left( \text {ind}_w(I)\right) \,=\, \left\{ A \in \mathbb {C}^n \,|\, q(A)=0 \text { for all } q\in \text {ind}_w(I) \right\} \end{aligned}$$
(3.17)

of the indicial ideal are called the exponents of I with respect to w.

A \(D_n\)-ideal F which is generated by elements of \(\mathbb {C}[\theta _1,\ldots ,\theta _n]\) is called Frobenius ideal. Frobenius ideals hence are of the form \(F=D_nJ\) with J an ideal in \(\mathbb {C}[\theta _1,\ldots ,\theta _n]\). A Frobenius ideal \(F=D_n J\) is holonomic if and only if J is Artinian, i.e., if \(\mathbb {C}[\theta ]/J\) is a finite-dimensional \(\mathbb {C}\)-vector space. Now assume J is Artinian. The primary decomposition of J is of the form

$$\begin{aligned} J \,=\, \bigcap _{A\, \in \, V(J)} Q_A(\theta -A), \end{aligned}$$
(3.18)

where \(Q_A\) is an Artinian ideal, and \(Q_A(\theta -A)\) denotes the ideal obtained from replacing each \(\theta _i\) by \(\theta _i-A_i\) in \(Q_a\). Solutions of Frobenius ideals take on the very special form \(x^A\cdot g(\log (x))\), which can be read from the primary decomposition of J. Namely, \(A\in V(J)\) and g runs over the finite-dimensional \(\mathbb {C}\)-vector space

$$\begin{aligned} \begin{aligned} Q_A^{\perp } \,=\, \left\{ p \in \mathbb {C}[x_1,\ldots ,x_n] \,| \, f(\partial _1,\ldots ,\partial _n) \bullet p(x_1,\ldots ,x_n)=0 \right. \\ \left. \text { for all } f=f(\theta _1,\ldots ,\theta _n )\in Q_A\right\} , \end{aligned} \end{aligned}$$
(3.19)

the orthogonal complement of the Artinian ideal \(Q_A\). Since we will make use of that strategy regularly later on, we summarize what was said above in the following proposition.

Proposition 3.9

Let \(F=D_n J,\) where \(J\subset \mathbb {C}[\theta ]\), be a holonomic Frobenius ideal. The solution space of F is spanned by the functions \(x^A\cdot g(\log (x))\), where A runs over the points of the variety V(J), and g runs over the orthogonal complement \(Q_A^\perp \) from (3.19).

Proposition 3.10

Let I be a holonomic ideal and \(w\in \mathbb {R}^n\)generic for I. Then, \(\text {ind}_w\)(I) is a holonomic Frobenius ideal whose rank equals \(\text {rank}(\text {in}_{(-w,w)} (I))\).

By N, we denote the ring of functions of the Nilsson class, i.e., those functions which can be represented by an element of

$$\begin{aligned} N \,\,{:}{=}\,\, \mathbb {C}\llbracket x^{u^1},\ldots ,x^{u^n}\rrbracket [x^{\beta ^1},\ldots ,x^{\beta ^n},\log (x_1),\ldots ,\log (x_n)] \end{aligned}$$
(3.20)

for suitable vectors \(u^1,\ldots ,u^n,\beta ^1,\ldots ,\beta ^n\in \mathbb {C}^n\) (see [55, (2.31)]). The coefficients lie in the ring \(\mathbb {C}\llbracket x^{u^1},\ldots ,x^{u^n} \rrbracket \) of formal power series in the \(x^{u^i}\)’s.

Definition 3.11

The w-weight of a monomial \(x^A\log (x)^B\) is the real part \(\Re (w\cdot A)\) of \(w\cdot A\).

The initial series of a function \(f=\sum _{A,B} c_{AB}x^A\log (x)^B\in N\), denoted \(\text {in}_w(f)\), is defined to be the finite subsum of all terms of minimal w-weight. Note that a weight vector \(w\in \mathbb {R}^n\) induces a partial order on functions of the Nilsson class as follows:

$$\begin{aligned} x^A\log (x)^B \le x^c\log (x)^d \ \Leftrightarrow \ \Re (w \cdot A ) \le \Re (w \cdot c).. \end{aligned}$$
(3.21)

Since the w-weight does not give a monomial ordering, one needs a monomial order \(\prec \) as a tie breaker and denotes the resulting monomial order by \(\prec _w\). We will take \(\prec \) to be the lexicographical ordering on N obtained as restriction of the lexicographic ordering on \(\mathbb {C}^n \oplus \mathbb {N}^n\).

The set of starting monomials of I with respect to \(\prec _{w}\) is

$$\begin{aligned} \text {Start}_{\prec w}(I) \, \,{:}{=}\,\, \left\{ \text {in}_{\prec w}(f) \,|\, f\in N \text { is a nonzero solution of } I\right\} , \end{aligned}$$
(3.22)

where \(\text {in}_{\prec w}(f)=x^A\log (x)^B\) for some \(A\in \mathbb {C}^n\) and \(B\in \mathbb {N}^n\). Here, \(x^A\) denotes \(x_1^{A_1}\cdots x_n^{A_n}\) and \(\log (x)^B=\log (x_1)^{B_1}\cdots \log (x_n)^{B_n}\). Moreover,

$$\begin{aligned} \text {Start}_{\prec _w}(I) \,=\, \text {Start}_{\prec _w}(\text {in}_{(-w,w)}(I))\,=\, \text {Start}_{\prec _w}(\text {ind}_{w}(I)). \end{aligned}$$
(3.23)

Proposition 3.12

([55, Corollary 2.5.11]) If \(x^A \log (x)^B \in \text {Start}_{\prec w}(I)\), then A is an exponent of I with respect to w. For each exponent A, the number of starting monomials of the form \(x^A \log (x)^B\) is the multiplicity of A as a root of the indicial ideal \(\text {ind}_w(I)\).

Theorem 3.13

([55, Theorem 2.5.12]) For each starting monomial \(x^A\log (x)^B\) in \( \text {Start}_{\prec w}(I) = \text {Start}_{\prec _w}(\text {ind}_{w}(I))\), there exists a unique \(f\in N\) with the following properties:

  1. (1)

    f is annihilated by I, i.e., \(f\in \mathcal {S}\text {ol}(I)\).

  2. (2)

    \(\text {in}_w(f) = x^A\log (x)^B\).

  3. (3)

    The monomial \(x^A\log (x)^B\) is the only starting monomial that appears in f with nonzero coefficient.

Solutions to I as in the theorem above are called canonical (series) solutions of I with respect to \(\prec _w\). The solution functions f in Theorem 3.13 can be shown to actually live in the Nilsson ring \(N_w\subset N\), which is the content of the next proposition.

Proposition 3.14

If I is regular holonomic and w a generic weight for I, there exist \(\text {rank}(I)\) many canonical series solutions of I which lie in the Nilsson ring \(N_w(I)\) of I w.r.t. to w,

$$\begin{aligned} N_w(I) \, \,{:}{=}\,\, \mathbb {C}\llbracket {C_w(I)}_{\mathbb {Z}}^*\rrbracket [x^{e^1},\ldots ,x^{e^r}, \log (x_1),\ldots ,\log (x_n)]. \end{aligned}$$
(3.24)

Here, \(\{e^1,\ldots ,e^r\}\) denotes the set of roots of the indicial ideal of I, and \(C_w(I)_{\mathbb {Z}}^*=C_w(I)^*\cap \mathbb {Z}^n\), where \(C_w(I)\) is the Gröbner cone of I containing w,

$$\begin{aligned} C_w(I) \,=\, \left\{ w' \in \mathbb {R}^n | \text {in}_{(-w,w)}(I) = \text {in}_{(-w',w')}(I) \right\} , \end{aligned}$$
(3.25)

and \({C_w(I)}^*=\{ u \in \mathbb {R}^n \mid u \cdot v \ge 0\text { for all } v \in C_w \}\) is its dual cone (called “polar dual” in [55]). The elements of \(\mathbb {C}\llbracket {C_w(I)}_{\mathbb {Z}}^*\rrbracket \) are power series in x whose exponent vectors lie in \(C_w(I)_{\mathbb {Z}}^{*}\).

More precisely, the canonical solutions to I with respect to \(\prec _w\) have the form \(x^A\cdot g\), where A is an exponent of I and g is an element of \(\mathbb {C}\llbracket {C_w(I)}_{\mathbb {Z}}^*\rrbracket [ \log (x_1),\ldots ,\log (x_n)],\) such that the degree of each \(\log (x_i)\) in g is at most \(\text {rank}(I)-1\) (see [55, Theorem 2.5.14]).

Definition 3.15

Let \(w\in \mathbb {R}^n\). A finite subset G of a D-ideal I is called a Gröbner basis with respect to w if I is generated by G and \(\text {in}_{(-w,w)}(I)\subset D\) is generated by the initial forms \(\text {in}_{(-w,w)}(g)\), where g runs over the set G.

Moreover, if G is a Gröbner basis of I with respect to \(\prec _w\), where \(\prec \) denotes any term order on D (see [55, p.5]), G is also a Gröbner basis of I with respect to w.

3.4 The Saito–Sturmfels–Takayama algorithm

We now state the theorem which allows us to compute canonical solutions starting from a Gröbner basis of I with respect to a generic weight vector \(w\in \mathbb {R}^n\). This is [55, Theorem 2.6.1], and we here recall it together with its proof, which contains the algorithm to lift solutions of the indicial ideal to canonical series solutions of I up to arbitrary w-weight. We are going to refer to this algorithm as SST algorithm.

Theorem 3.16

Let I be a regular holonomic ideal in \(\mathbb {Q}[x_1,\ldots ,x_n]\langle \partial _1,\ldots ,\partial _n \rangle \) and let \(w\in \mathbb {R}^n\) be a generic weight vector for I. Let I be given by a Gröbner basis G w.r.t. w. There exists an algorithm which computes all terms up to specified w-weight in the canonical series solutions to I with respect to \(\prec _w\).

For the convenience of our readers, we summarize the main steps of the SST algorithm as a procedure before turning to the proof. We also give an example of the algorithm running on a one-variable hypergeometric system. We here already mention Gröbner fans; the definition is contained in the later Sect. 4.1.

Procedure 3.17

(Computing canonical series solutions of a D-ideal up to a chosen order)

Input: A regular holonomic \(D_n\)-ideal I, its small Gröbner fan \(\Sigma \) in \(\mathbb {R}^n\), a weight vector \(w\in \mathbb {R}^n\) that is generic for I, and the desired order \(k\in \mathbb {N}\).

Step 1.:

Compute the indicial ideal \(\text {ind}_w(I)\) and its \(\text {rank}(I)\) many solutions. They are the form \(x^A\log (x)^B\) with \(A \in V(\text {ind}_w(I))\), and will be the starting monomials of the canonical series solutions. For each starting monomial, carry out Steps 2–5.

Step 2.:

Determine a Gröbner basis G of I with respect to the weight w.

Step 3.:

Create the recurrences. By a recurrence, we mean a way of writing each element \(g\in G\) as \(x^\alpha g = f-h\) with \(\alpha \in \mathbb {Z}^n\) an integer vector such that \(f\in \mathbb {K}[\theta _1,\ldots ,\theta _n]\) and \(h \in \mathbb {K}[x_1^{\pm 1},\ldots ,x_n^{\pm 1}]\langle \partial _1,\ldots ,\partial _n \rangle \) with \({\text {ord}}_{(-w,w)}(h)<0 \).Footnote 2 For each recurrence, write \(h = \sum _{j=1}^r x^{\beta (j)}h_j\) where each \(h_j\) is in \(\mathbb {K}[\theta _1,\ldots ,\theta _n].\) Write \(f, h_1,..., h_r\) as matrices acting on the vector spaces \(L_p,L_{p - \beta (1)}, \ldots , L_{p - \beta (r)},\) which contain the coefficient vectors \(c_p\) of \(x_p\log (x)^b,\) \( 0 \le b_i < \text {rank}I.\)

Step 4.:

Apply the recurrences. Assuming one has the coefficient vectors \(c_{p - \beta (1)},..., c_{p - \beta (r)},\) this amounts to solving the system of matrix equations to obtain \(c_p.\)

Step 5.:

If the matrix of f is singular, then one may need to use the condition that for \(i \ne j,\) the series expansion \(s_i\) must have coefficient 0 for the starting monomial of \(s_j.\)

Output: The canonical series solutions of I with respect to w, truncated at w-weight k.

Example 3.18

We apply this procedure to the ideal \(I \subset \mathbb {C}[x]\langle \partial \rangle \) generated by the hypergeometric operator \(P \,{:}{=}\,\theta (\theta - 3) - x(\theta + a)(\theta + b).\) Its Gröbner fan has only two maximal cones, namely the rays \(\pm \mathbb {R}_{\ge 0}\). We choose the weight vector \(w = 1.\) The ideal I is univariate and principal, hence holonomic of rank \(\text {ord}_{(0,1)}(P) = 2.\)

Step 1.:

The order of x with respect to \(w = 1\) is \(-1.\) Thus, \(\text {in}_{(-w,w)}(I)=\langle \theta (\theta - 3)\rangle .\) The initial ideal is already torus-fixed, so \(\text {ind}_w(I) = \text {in}_{(-w,w)}(I).\) Solutions to the indicial ideal are \(x^0 =1\) and \(x^3.\) We select the starting monomial \(x^3.\) Our coefficient vectors \(c_p\) are in \(L_p = \mathbb {C}\cdot \{x^{p+3}, x^{p+3} \log (x)\}\).

Step 2.:

The ideal is principal, hence its generator is a Gröbner basis of the ideal.

Step 3.:

We write \(P = f-h,\) where \(f = \theta (\theta - 3)\) and \(h = x(\theta + a)(\theta + b).\) It suffices to compute the action of \(\theta \) on each element of \(L_p\) and extend it \(k[\theta ]\)-linearly. We have

$$\begin{aligned} \theta \bullet x^{p+3} \,=\, (p+3)x^{p+3} \quad \text {and}\quad \theta \bullet x^{p + 3}\log (x) \\ \,=\, x^{p + 3} + (p+3)x^{p + 3}\log (x). \end{aligned}$$

Thus, the matrix of the operator \(\theta \) in the basis \(\{ x^{p+3}, x^{p+3} \log (x)\}\) is

$$\begin{aligned} \begin{bmatrix} p + 3 &{} 1\\ 0 &{} p + 3 \end{bmatrix}. \end{aligned}$$
Step 4.:

Let \(c_{p,1}\) and \( c_{p,2}\) be the coefficients of \(x^{p+3}\) and \(x^{p+3}\log (x)\) in the power series expansion. Then, we can write our operators as matrices, and our recurrence as

$$\begin{aligned} \begin{bmatrix} p &{} 1\\ 0 &{} p \end{bmatrix} \begin{bmatrix} p + 3 &{} 1\\ 0 &{} p + 3 \end{bmatrix} \begin{bmatrix} c_{p,1}\\ c_{p,2} \end{bmatrix} \,&=\, \begin{bmatrix} p - a + 2 &{} 1 \\ 0 &{} p - a + 2 \end{bmatrix}\\&\times \begin{bmatrix} p - b + 2 &{} 1 \\ 0 &{} p - b + 2 \end{bmatrix} \quad \begin{bmatrix} c_{p-1,1}\\ c_{p-1,2} \end{bmatrix} \end{aligned}$$

with initial values \(c_0 = 1, \, d_0 = 0.\) Solving the recurrence yields the explicit formulae

$$\begin{aligned} c_{p,1} = 0 \, \quad \text {and} \quad c_{p,2} = \frac{(a+3)_p(b+3)_p}{(1)_p(4)_p}, \end{aligned}$$

where \((a)_p = a(a + 1)\cdots (a + p -1)\) is the Pochhammer symbol.

Step 5.:

If we choose the starting monomial \(x^0=1\) instead, the matrix of f is singular for \(p = 3.\) We leave it to the reader to find the series expansion, or to see [55, pp. 98–99].

\(\diamond \)

We now turn to the proof of Theorem 3.16, making the steps of Procedure 3.17 precise.

Proof and algorithm. Let \(w\in \mathbb {R}^n\) be generic for I. Compute the roots of \(\text {ind}_w(I)\) and extend the field of coefficients by them. Denote the resulting, computable field extension of \(\mathbb {Q}\) by \(\mathbb {K}\). To compute the canonical solution of I whose starting monomial is \(x^A\log (x)^B\), one proceeds as follows. For \(p\in \mathbb {Z}^n\), denote by \(L_p\) the \(\mathbb {K}\)-vector space

$$\begin{aligned} L_p \, \,{:}{=}\,\, x^A \cdot \hspace{-5mm} \sum _{0\le b_i < \text {rank}(I)} \mathbb {K}\cdot x^p \, \log (x)^b. \end{aligned}$$
(3.26)

The \(\mathbb {K}\)-vector space \(L_p\) is finite-dimensional. Every \(f\in \mathbb {K}[\theta ]\) induces a \(\mathbb {K}\)-linear map \(f:L_p\rightarrow L_p\). The monomials of \(L_p\) are a \(\mathbb {K}\)-basis of it. They are ordered by the term order \(\prec _w\) on the Nilsson ring, starting with the smallest. The matrix of f in this basis is an upper triangular square matrix. Let \(L_p'\) denote the set of monomials in \(L_p\) that are not contained in \(\text {Start}_{\prec _w}(I)\). Now let \(\{f_1,\ldots ,f_d\}\) be any generating set of \(\text {ind}_w(I)\) and restrict \(f_i:L_p\rightarrow L_p\) to \(L_p'\); this corresponds to deleting some of the columns in the associated matrix. Denote the resulting matrix by \(F_i\). Then, the map

$$\begin{aligned} F: L_p'\longrightarrow L_p^d, \quad v\mapsto (f_1\bullet v,\ldots ,f_d \bullet v)^{\top } \end{aligned}$$
(3.27)

is injective and is represented by the matrix obtained as vertical concatenation of \(F_1,\ldots ,F_d\).

Now let \(G = \{g_1,..., g_d\}\) be a Gröbner basis of I with respect to w; its Gröbner cone in \(\mathbb {R}^n\) is denoted by \(C_w\). For each \(g \in G\), choose a Laurent monomial \(x^{\alpha }\) such that

$$\begin{aligned} x^{\alpha }g \,=\, f - h, \end{aligned}$$
(3.28)

where \(f\in \mathbb {K}[\theta _1,\ldots ,\theta _n]\), \(h\in \mathbb {K}[x_1^{\pm 1},\ldots ,x_n^{\pm 1}]\langle \partial _1,\ldots ,\partial _n \rangle \) with \({\text {ord}}_{(-w,w)}(h)<0 \). Here, \({\text {ord}}_{(-w,w)}(h)\) denotes the largest w-weight of a monomial appearing in h. Then, the set of operators \(f_1, \ldots , f_d\) obtained this way generate \(\text {ind}_w(I)\) and, as maps as in (3.27), they are injective. The Laurent monomial \(x^\alpha \) for a Gröbner basis element g is obtained by taking a highest-weight term \(x^{a} \partial ^{b} m\) in g,  where m is a monomial in the \(\theta _i\)’s and for all k, at least one of \(\{a_k, b_k\}\) is zero. Intuitively, this corresponds to pulling out as many \(\theta \)’s as possible into m. Then, \(x^\alpha = x^{b-a}\). The \(h_i\) may have terms of different weights; in this case, we get a recurrence that involves \(L_p\) for more than two different p’s. The coefficients of the canonical series solution are now computed by induction on the w-weight k. We start from a canonical series solution \(x^A\log (x)^B+\cdots \) and assume the coefficients \(c_{pb}\) are already known for \(0\le p\cdot w\le k,\) \(p\in C^*_{\mathbb {Z}}\). Let \(F_k(x)\) be this partial solution up to w-weight k, i.e.,

$$\begin{aligned} F_k(x) \,=\ x^A \cdot \hspace{-5mm} \sum _{\begin{array}{c} 0\le p\cdot w\le k,\, p\in C^*_{\mathbb {Z}}, \\ 0 \le b_j < \text {rank}(I) \end{array}} c_{pb} \, x^p\log (x)^b, \end{aligned}$$
(3.29)

and let \(M_k\) be the space of terms with w-weight greater than k, i.e., \(M_k = \sum _{p \cdot w > k, p \in C^*_{\mathbb {Z}}} L_p\). Then, by definition, we have that

$$\begin{aligned} g_i \bullet F_k(x) \,\equiv \, 0 \mod M_k. \end{aligned}$$
(3.30)

Assuming we know \(F_k(x)\) for some k, we are going to construct a recursion which allows us to determine the additional terms which are needed to lift \(F_k(x)\) to \(F_{k+1}(x)\). The starting point of that recursion will be the starting monomials. We hence look for an element \(E_{k+1}\) of \(\sum _{p \cdot w = k + 1, p \in C^*_{\mathbb {Z}}}L'_p\) such that

$$\begin{aligned} E_{k+1}(x) \, \equiv \, F_{k+1}(x) - F_{k}(x) \mod M_{k+1}. \end{aligned}$$
(3.31)

To achieve this, observe that \({\text {ord}}_{(-w,w)}(h_i)<0\) implies that \(h_i \bullet x^{\ell }\) has higher w-weight than \(x^{\ell }\). We can show this on monomials as follows. Suppose that \(h_i = x^q\) for some \(q\in \mathbb {N}^n\) with \(q \cdot (-w) < 0.\) Then, \(q \cdot w >0,\) so \(h_i\bullet x^{\ell }=x^{\ell + q}\) has higher w-weight than \(x^{\ell }.\) Similarly, suppose that \(h_i = \partial ^r\) where \(r \cdot w < 0.\) Then, \((-r) \cdot w > 0.\) Thus, \(h_i \bullet x^{\ell } = Cx^{\ell -r}\) for some constant C,  and \(x^{\ell -r}\) has higher w-weight than \(x^{\ell }\). Together with (3.28) and (3.30), this implies that \(f_i \bullet F_{k + 1}\) = \(h_i \bullet F_k \mod M_{k+1}\), which gives the desired recursion relation for \(E_{k+1}(x)\) in terms of \(F_k(x)\), namely

$$\begin{aligned} f_i \bullet E_{k+1}(x) \, \equiv \, (h_i - f_i) \bullet F_k(x) \mod M_{k+1}. \end{aligned}$$
(3.32)

By the injectivity of the map F from (3.27) and the existence of a canonical series solution, there exists a unique solution \(E_{k+1}(x)\) to (3.32), and this lifts \(F_k(x)\) to \(F_{k+1}(x)\). \(\square \)

Remark 3.19

The choice of \(\alpha \) in (3.28) is in general not unique, and sometimes there might not be an \(\alpha \) at all which satisfies all of the conditions. For example, consider \( w = (-1, 0)\) and the operator \(P=\partial _2 + x_2\partial _2 + x_2^2\partial _2 + \partial _1 + x_2\partial _1\). All its monomials have weight 0 or \(-1.\) Also, no matter what Laurent monomial we multiply by, only one of \(x^\alpha \partial _2, x^\alpha x_2\partial _2,\) and \(x^\alpha x_2^2\partial _2\) can be torus-fixed. So h will contain a term which has weight 0,  and the order of h will always be the same as the order of f. Thus, no choice of \(\alpha \) as required exists. For a case where several choices for the monomial \(x^\alpha \) exist, take, e.g., \(\theta _1 + \theta _2 + \theta _3 + 1.\) Then, any \(x^\alpha \) with negative w-weight will work. However, we note that two different monomials having the same weight only occur for a measure zero subset of the Gröbner cone. Thus, if we have picked a generic weight vector w,  we can perturb it slightly to \(w'\) for which a choice of \(\alpha \) exists, while remaining in the same Gröbner cone. In the cases we consider later on, there is a unique choice for \(\alpha .\) \(\diamond \)

4 Computing solutions of \(I_3\) with Gröbner techniques

In this section, we compute the canonical series solutions of the D-ideal \(I_3\) generated by the operators in (2.8) using the SST algorithm from the proof of Theorem 3.16. We begin in Sect. 4.1 by showing that \(I_3\) is holonomic, and by computing some preliminary data, such as its holonomic rank, its singular locus, and its Gröbner fan. In Sect. 4.2, we discuss thoroughly the computation of the canonical series solutions for one of the cones of the Gröbner fan. Thanks to the symmetry of the system, the computations for the remaining two cones work analogously; we give more details for that at the end of the section.

4.1 The Gröbner fan of \(I_3\)

In order to employ the SST algorithm for computing the canonical series solutions, we first need to certify that the ideal is holonomic. Let \(I_3(c)\) be the D-ideal generated by the operators in (2.6), with \(c=(c_0,c_1,c_2,c_3)\). A computation in Singular [26, 35] approves that \(I_3(4,2,2,2)\) is holonomic. The output of the Singular code below proves that I(c) is holonomic also for generic c. For that, we use the Weyl algebra \(\mathbb {Q}(c_0, c_1, c_2, c_3) [x_1, x_2, x_3]\langle \partial _1, \partial _2, \partial _3\rangle \) with the degree reverse lexicographical order for \(x_1> x_2> x_3>\partial _1> \partial _2 > \partial _3.\) The code uses the D-module libraries [5], and can be carried out by running the following lines, which also compute the holonomic rank, the singular locus, and the characteristic variety of \(I_3(c)\).

figure a

Since we compute over the field of rational functions in the parameters c,  the results are valid for generic c. The characteristic ideal \(\text {in}_{(0,1)}\left( I_3(c)\right) \) is the \(\mathbb {C}[x_1,x_2,x_3][\xi _1,\xi _2,\xi _3]\)-ideal generated by the 8 operators

$$\begin{aligned} \begin{aligned} x_1\xi _1 + x_2\xi _2 + x_3\xi _3, \ x_2\xi _2^2- x_3\xi _3^2,\ x_2\xi _1\xi _2 + x_3\xi _1\xi _3 + x_3\xi _3^2, \\ 2x_2 x_3 \xi _2 \xi _3-x_1 x_3 \xi _3^2+x_2 x_3 \xi _3^2+x_3^2 \xi _3^2, \ x_3 \xi _1 \xi _2 \xi _3+x_3 \xi _1 \xi _3^2+x_3 \xi _2 \xi _3^2, \\ 2x_1 x_3 \xi _2 \xi _3^2-2x_3^2 \xi _2 \xi _3^2-x_1 x_3 \xi _3^3+x_2 x_3 \xi _3^3-3x_3^2 \xi _3^3, \\ 2x_2 x_3 \xi _1 \xi _3^2-2x_3^2 \xi _1 \xi _3^2+x_1 x_3 \xi _3^3-x_2 x_3 \xi _3^3-3x_3^2 \xi _3^3, \\ x_1^2 x_3 \xi _3^3-2x_1 x_2 x_3 \xi _3^3+x_2^2 x_3 \xi _3^3-2x_1 x_3^2 \xi _3^3-2x_2 x_3^2 \xi _3^3+x_3^3 \xi _3^3, \end{aligned} \end{aligned}$$
(4.1)

all of which are independent of c. The singular locus is

$$\begin{aligned} {\text {Sing}}\left( I_3(c)\right) \,=\, V\left( x_1x_2x_3\cdot \lambda \right) \, \subset \, \mathbb {C}^3, \end{aligned}$$
(4.2)

where \(\lambda \) is the homogeneous degree-2 polynomial defined in Eq. (2.10). Note that the singular locus is symmetric in each of the \(x_i\)’s, and is in agreement with what was observed for the known solutions (2.13).

Our computations in Singular show that \(I_3(c)\) has holonomic rank 4. Therefore, by the theorem of Cauchy, Kovalevskaya, and Kashiwara, the \(\mathbb {C}\)-vector space of holomorphic solutions to \(I_3(c)\) on a simply connected domain in \(\mathbb {C}^3{\setminus }\text {Sing}\left( I_3(c)\right) \) is 4-dimensional. We now focus on \(I_3 \,{:}{=}\,I_3(4,2,2,2)\) and compute its Gröbner fan. Again, denote by W the set of weight vectors for \(D_n\) from Eq. (3.14), i.e., \(W =\left\{ (u,v) \,|\, u+v \ge 0 \right\} \subset \mathbb {R}^{2n}.\) The Gröbner fan of a \(D_n\)-ideal I is a finite polyhedral fan in \(\mathbb {R}^{2n}\) with support W such that the initial ideal \(\text {in}_{(u,v)}(I) \subset {\text {gr}}_{(u,v)}(D_n)\) is constant as (uv) ranges over any of its cones. The small Gröbner fan is the restriction of the Gröbner fan to \(\{ (u,v) \,|\, u+v=0\} \simeq \mathbb {R}^n.\) Hence, the cones of the small Gröbner fan of I are in one-to-one correspondence with the initial ideals \(\text {in}_{(-w,w)}(I)\), with \(w\in \mathbb {R}^n\).

Definition 4.1

A weight vector is generic for I if it lies in an open cone of the small Gröbner fan of I.

To compute the small Gröbner fan of our system \(I_3\), our strategy is to first approximate the fan by computing the initial ideals for various lattice vectors, and finding where they change. Once we have a good enough approximation to guess our fan, we can verify our guess by computing initial ideals along the candidate rays. The system \(I_3\) is homogeneous with respect to the vector (1, 1, 1). Thus, our small Gröbner fan really lives in \(\mathbb {R}^3 / (1, 1, 1).\) More specifically: if our Gröbner fan is \(\Sigma \), then \(\Sigma = \Sigma ' \times (1, 1, 1)\) where \(\Sigma '\) is a fan in \(\mathbb {R}^2.\) We choose the orthogonal basis \(v_1 = (1, 0, -1)\) and \(v_2 = (-1, 2, -1)\) of \(\mathbb {R}^3/ (1,1,1)\). By explicitly computing the initial ideals of \(I_3\), we obtain \(\Sigma '\) as depicted in Fig. 2. Note that this picture is not canonical; it depends on the choice of basis of \(\mathbb {R}^3/(1,1,1).\)

The D-ideal \(I_3\) is moreover regular singular, as we will read later from the system (5.28).

Fig. 2
figure 2

The fan \(\Sigma '\) in the basis \((v_1,v_2)\), where \(v_1 = (1,0,-1)\) and \(v_2 = (-1,2,-1)\). Its rays are \(\rho _1=\mathbb {R}_{\ge 0}\cdot (0,1)\), \(\rho _2=\mathbb {R}_{\ge 0}\cdot (-3, -1)\), and \(\rho _3=\mathbb {R}_{\ge 0}\cdot (3,-1)\). In \(\mathbb {R}^3\), the corresponding hyperplanes are \(\rho _1 = [\{w_1 - w_3 = 0\}],\) \( \rho _2 =[ \{w_1 - w_2 = 0\}],\) and \(\rho _3 = [\{w_2 - w_3 = 0\}].\) The cones \(C_1\), \(C_2\), and \(C_3\) correspond to the following cones in \(\mathbb {R}^3\): \( C_1 =[\{w_1<w_2,w_3\}]\), \(C_2=[\{ w_2<w_1,w_3\}]\), and \(C_3 =[\{w_3<w_1,w_2\}]\)

Remark 4.2

The triangle integral—read as a function of the coefficients of the graph polynomial—is a solution of a GKZ system [27, Section 3.5], in which case the SST algorithm simplifies substantially. The conformal ideal \(I_3(4,2,2,2)\) is a restriction of that GKZ system to a subspace of special values of some of the coefficients. Our further investigations will not rely on that fact; we here provide a general implementation of the SST algorithm. \(\diamond \)

4.2 Solutions to the indicial ideal

We will compute the initial and indicial ideal of the D-ideal \(I_3\) from (3.16) with respect to the weight vector \(w = (-1, 0, 1)\in C_1\). In the basis \(v_1=(1,0,-1),\) \(v_2=(-1,2,-1)\) of Sect. 4.1, w is \((-1,0)\). From Fig. 2, we read that w is contained in the relative interior of the cone \(C_1\) in the Gröbner fan, hence w is generic for \(I_3\). The initial ideal \(\text {in}_{(-w,w)}(I_3)\) is generated by the three operators

$$\begin{aligned} \begin{aligned} x_1\partial _1 + x_2\partial _2 + x_3\partial _3 + 1, \quad x_2\partial _2^2 + \partial _2,\quad x_3\partial _3^2 + \partial _3. \end{aligned} \end{aligned}$$
(4.3)

We compute the indicial ideal

$$\begin{aligned} \text {ind}_w(I_3) \,=\, R_3 \cdot \text {in}_{(-w, w)}(I_3) \cap \mathbb {C}[\theta _1, \theta _2, \theta _3]. \end{aligned}$$
(4.4)

Users of Singular may compute the initial ideal and a Gröbner basis with respect to the weight vector w with the following code.

figure b

This returns the initial ideal as in (4.3). We deduce that the indicial ideal \(\text {ind}_{w}(I_3)\) is generated by the three operators

$$\begin{aligned} \theta _1 + \theta _2 + \theta _3 + 1, \quad \theta _2^2, \quad \theta _3^2. \end{aligned}$$
(4.5)

They are a Gröbner basis of \(\text {in}_{(-w,w)}(I_3)\), and in this case \(\text {in}_{(-w,w)}(I_3)=\text {ind}_w(I_3)\). One reads that

$$\begin{aligned} V(\text {ind}_w(I_3)) \,=\, \{ (-1,0,0) \}, \end{aligned}$$
(4.6)

i.e., the only zero of the indicial ideal is the point \((-1,0,0)\). For the next step of the algorithm, we need to compute solutions to \(\text {ind}_w(I_3)\). These will become the starting monomials of the canonical series solutions to I. Recall that \(\text {ind}_w(I_3)=DJ\) for J the \(\mathbb {C}[\theta _1,\theta _2,\theta _3]\)-ideal generated by the operators in (4.5). We need to compute the primary decomposition of J. In Singular, one obtains the primary decomposition with the library primdec by running the following code, where we encoded the Euler operators \(\theta _1,\theta _2,\theta _3\) as variables th1th2th3.

figure c

From the output, one reads the ideals

$$\begin{aligned} \langle \theta _2^2\rangle , \quad \langle \theta _3^2 \rangle , \quad \langle \theta _1+\theta _2+\theta _3+1\rangle , \end{aligned}$$
(4.7)

coinciding with the Gröbner basis in (4.5). Recalling that \(V(J)=\{A\}\) with \(A=(-1,0,0)\), we read that \(Q_A\) from (3.18) is the ideal generated by \(\theta _1+\theta _2+\theta _3,\) \(\theta _2^2,\) and \(\theta _3^2\). The orthogonal complement \(Q_A^\perp \) from (3.19) hence is

$$\begin{aligned} Q_A^\perp \,=\, \left\{ p \in \mathbb {C}[x_1,x_2,x_3] \, | \, \partial _2^2\bullet p = \partial _3^2\bullet p = (\partial _1+\partial _2+\partial _3)\bullet p \, = \, 0 \right\} . \end{aligned}$$
(4.8)

This is a finite-dimensional vector space spanned by the 4 polynomials

$$\begin{aligned} \{1,\ x_1-x_2, \ x_1-x_3,\ (x_1-x_2)(x_1-x_3)\}. \end{aligned}$$
(4.9)

Hence, by Proposition 3.9, the solution space to \(\text {ind}_w(I_3)\) is spanned by the 4 functions

$$\begin{aligned} \begin{aligned} m_1(x_1,x_2,x_3)&\,=\, x_1^{-1}, \\ m_2(x_1,x_2,x_3)&\,=\,x_1^{-1}\log \left( \frac{x_1}{x_2}\right) , \\ m_3(x_1,x_2,x_3)&\,=\,x_1^{-1}\log \left( \frac{x_1}{x_3}\right) , \\ m_4(x_1,x_2,x_3)&\,=\,x_1^{-1} \log \left( \frac{x_1}{x_2}\right) \log \left( \frac{x_1}{x_3}\right) . \end{aligned} \end{aligned}$$
(4.10)

In Macaulay2 [34], the generators of the indicial ideal in (4.5) and its solutions are obtained conveniently using the commands distraction and solvePDE as follows.

figure d

Running this code outputs the following:

figure e

As is explained in [2], the solutions to \(\text {ind}_w(I_3)\) are then obtained by replacing dthi by \(\log (x_i)\) and multiplying the resulting functions by \(x^A=x_1^{-1}.\)

We will take advantage of the homogeneity of the system to write it in fewer variables. Consider the change of variables

$$\begin{aligned} y_1 = x_1\,,\quad y_2 = \frac{x_2}{x_1}\,, \quad y_3 = \frac{x_3}{x_1}. \end{aligned}$$
(4.11)

Lemma 4.3

Every solution \(f(x_1,x_2,x_3)\) to \(I_3\) can be written in the form

$$\begin{aligned} f(x_1,x_2,x_3) \,=\, x_1^{-1}\tilde{f}(y_2, y_3), \end{aligned}$$
(4.12)

where \(\tilde{f}(y_2, y_3)\) denotes the function \(\tilde{f}(y_2,y_3)= f(1,y_2,y_3).\)

Proof

Since \(I\bullet f(x_1, x_2, x_3) = 0\), f is a solution of \(\theta _1 + \theta _2 + \theta _3 + 1\), in particular. Thus, by the converse of Euler’s homogeneous function theorem, f is homogeneous of degree \(-1\). This yields \(f(1, y_2, y_3)= x_1 f(x_1, x_2, x_3)\). Setting \(\tilde{f}(y_2, y_3) \,{:}{=}\,f(1, y_2, y_3)\) proves the claim. \(\square \)

Therefore, we can write each canonical series in the form

$$\begin{aligned} x_1^{-1} \, \hspace{-2mm} \sum _{m, n \in \mathbb {Z}} \sum _{0 \le i, j \le 3} c_{mnij} \, y_2^m y_3^n(\log y_2)^i(\log y_3)^j. \end{aligned}$$
(4.13)

We will call an element of the form \((\log y_2)^i(\log y_3)^j\) a monomial. We now encode our D-ideal in the new variables. Now D denotes the Weyl algebra in the y-variables, i.e., \(D=\mathbb {C}[y_1,y_2,y_3]\langle \partial _{y_{1}},\partial _{y_{2}},\partial _{y_{3}}\rangle \), where \(\partial _{y_{i}}=\partial /\partial y_i.\) Denote \(\theta _{y_{i}} = y_i \partial _{y_{i}}.\) Then

$$\begin{aligned} \begin{aligned} \theta _1=\theta _{y_{1}}-\theta _{y_{2}}-\theta _{y_{3}}, \quad \theta _2 = \theta _{y_{2}}, \quad \theta _3 = \theta _{y_{3}}. \end{aligned} \end{aligned}$$
(4.14)

In the y-variables, we thus obtain the following basis of the solutions space of \(\text {ind}_w(I_3)\):

$$\begin{aligned} \begin{aligned} m_1(y_1,y_2,y_3)&\,=\, y_1^{-1},\\ m_2(y_1,y_2,y_3)&\,=\, y_1^{-1}\log (y_2),\\ m_3(y_1,y_2,y_3)&\,=\, y_1^{-1}\log (y_3),\\ m_4(y_1,y_2,y_3)&\,=\, y_1^{-1}\log (y_2)\log (y_3). \end{aligned} \end{aligned}$$
(4.15)

After substituting back to the \(x_i\) variables, these functions are—up to reordering and a sign—exactly the functions found in (4.10). Since each \(m_i\) is entirely contained within a single \(L_p,\) we have \(\text {Start}_{\prec _w}(m_i) = m_i\) (cf. [55, Lemma 2.5.10]).

4.3 Lifting the initial monomials to solutions of \(I_3\)

We proceed using the algorithm described in Theorem 3.16. The space \(L_p\) is 16-dimensional and defined as the span of elements of the form \(x_1^{-1}y^p(\log y_2)^m (\log y_3)^n\) where \(p \in \mathbb {Z}^2\) is fixed and \( 0 \le m, n \le 3.\) In order to execute the algorithm, we must first find the matrix of the transformation from \(L_p'\) to \((L_p)^d.\) As we will see below, this matrix consists of 3 vertically concatenated blocks, where each block is an upper triangular \(16\times 16\) matrix.

First, we compute that a Gröbner basis \(G_w\) of \(I_3\) with respect to w is given by

$$\begin{aligned} \begin{aligned} g_1&\,=\, (\theta _2+\theta _3+1)\partial _1+(\theta _2+1)\partial _2, \\ g_2&\,=\, (\theta _2+\theta _3+1)\partial _1+(\theta _3+1)\partial _3, \\ g_3&\,=\, \theta _1+\theta _2+\theta _3+1. \end{aligned} \end{aligned}$$
(4.16)

Switching to the y-variables, the operators in (4.16) turn into

$$\begin{aligned} \begin{aligned} y_1y_2g_1&\,=\, \theta _{y_{2}}^2 +y_2(\theta _{y_{1}}\theta _{y_{2}}+\theta _{y_{1}}\theta _{y_{3}}-\theta _{y_{2}}^2-\theta _{y_{2}}-2\theta _{y_{2}}\theta _{y_{3}} -\theta _{y_{3}}^2-\theta _{y_{3}}+\theta _{y_{1}}), \\ y_1y_3g_2&\,=\, \theta _{y_{3}}^2 + y_3( \theta _{y_{1}}\theta _{y_{2}}+\theta _{y_{1}}\theta _{y_{3}}-\theta _{y_{2}}^2-\theta _{y_{2}}-2\theta _{y_{2}}\theta _{y_{3}}-\theta _{y_{3}}^2-\theta _{y_{3}}+\theta _{y_{1}}), \\ g_3&\,=\, \theta _{y_{1}} + 1. \end{aligned} \end{aligned}$$
(4.17)

Replacing \(\theta _{y_{1}}\) by \(-1\) gives

$$\begin{aligned} \begin{aligned} y_1y_2g_1&\,=\, \theta _{y_{2}}^2 - y_2(\theta _{y_{2}} + \theta _{y_{3}} + 1)^2, \\ y_1y_3g_2&\,=\, \theta _{y_{3}}^2 - y_3(\theta _{y_{2}} + \theta _{y_{3}} + 1)^2. \end{aligned} \end{aligned}$$
(4.18)

Observe that \(y_1 g_1=Q_2-Q_1\) and \(y_1 g_2=-Q_1\) for \(Q_1,Q_2\) from (5.14) from Sect. 5.1.

Remark 4.4

Above, we pass to the D-module \(M=D/I_3\). In M, \(\theta _{y_{1}}\equiv -1\). This justifies to substitute \(\theta _{y_{1}}\) by \(-1\). We point out that the ideals generated by the operators in (4.17) and (4.18), respectively, are not the same ideals; but the quotients by them are isomorphic as D-modules on the algebraic torus, and hence their solution spaces are isomorphic. \(\diamond \)

We now check that the order condition on the \(h_i\)’s is satisfied. Indeed, for \( w = (-1,0,1),\) the variable \(y_2 = x_2/x_1\) has w-weight \(-w \cdot (-1, 1, 0) = -1.\) Similarly, \(y_3\) has w-weight \(-2.\) Thus, \(\text {ord}_{(-w, w)}(h_i) = \text {ord}_{(-w, w)}(y_i)<0\) for \(i = 2, 3,\) as desired. In other words, \(g_1\) gives rise to a recurrence relation between \(L_p\) and \(L_{p + (1, 0)},\) while \(g_2\) gives a recurrence relation between the spaces \(L_p\) and \(L_{p + (0, 1)}.\)

We have implemented the SST algorithm from the proof of Theorem 3.16 in Sage for PDEs in two variables. Running it produces the canonical series solutions that are shown in Eq. (4.19) at the very end of this section.

In summary, we achieved a basis of holomorphic solutions to \(I_3\) purely from the Gröbner data of \(I_3\). We carried the computations out for a weight vector w from the cone \(C_1\) of the Gröbner fan of \(I_3\). For our computations, we changed to y-variables. To refine the weight-ordering of w to a term ordering on the Weyl algebra, we used the degree reverse lexicographical ordering for \(x_1>x_2>x_3> \partial _1>\partial _2 > \partial _3\). In order to compute a basis of the solution space to \(I_3\), one could equally have started from cone \(C_2\) or \(C_3\), resulting in different orderings. One would change the refining order to \(x_2> x_1, x_3> \partial _2 > \partial _1, \partial _3\) for \(C_2\), and to \( x_3> x_1, x_2> \partial _3 > \partial _1, \partial _2 \) for \(C_3\). The Gröbner bases of \(I_3\) w.r.t. weights from \(C_2\) and \(C_3\) are then obtained by a relabeling of the indices, and accordingly for the starting monomials and canonical series solutions. In Lemma 4.3, one would factor out \(x_2^{-1}\) for \(C_2\), and \(x_3^{-1}\) for \(C_3\).

We end this section by giving the canonical series solution of \(I_3\) for w from \(C_1\) obtained by our implementation of the SST algorithm. We display them from w-weight 0 to 4 on the next page.

$$\begin{aligned} \tilde{f}_1(y_2, y_3)&\,=\, 1 + y_2 + y_3 + y_2^{2} + 4y_2y_3 + y_3^{2} + y_2^{3} + 9y_2^{2}y_3 + y_2^{4} \,+\, \cdots ,\nonumber \\ \tilde{f}_2(y_2, y_3)&\,=\, \log (y_2) + \log (y_2)y_2 + (2 + \log (y_2))y_3 + \log (y_2)y_2^{2} + (4 + 4\log (y_2))y_2y_3 \nonumber \\&\quad \ + (3 + \log (y_2))y_3^{2} + (\log (y_2))y_2^{3} + (6 + 9\log (y_2))y_2^{2}y_3 + \log (y_2) y_2^{4} \,+\, \cdots ,\nonumber \\ \tilde{f}_3(y_2, y_3)&\,=\, \log (y_3) + (2 + \log (y_3))y_2 + \log (y_3)y_3 + (3 + \log (y_3))y_2^{2}\nonumber \\&\quad \ + (4 + 4\log (y_3))y_2y_3 + \log (y_3)y_3^{2} + \left( \frac{11}{3} + \log (y_3)\right) y_2^{3}\nonumber \\&\quad \ + (15 + 9\log (y_3))y_2^{2}y_3 + \left( \frac{25}{6} + \log (y_3)\right) y_2^{4} \,+\, \cdots , \nonumber \\ \tilde{f}_4(y_2, y_3)&\,=\, \log (y_2)\log (y_3) + (-2 + 2\log (y_2) + \log (y_2)\log (y_3))y_2 \nonumber \\&\quad \ + \left( -2 + 2\log (y_3) + \log (y_2)\log (y_3)\right) y_3\nonumber \\&\quad \ + \left( -\frac{5}{2} + 3\log (y_2) + \log (y_2)\log (y_3) \right) y_2^{2} \nonumber \\&\quad \ + \left( -6 + 4\log (y_2) + 4\log (y_3) + 4\log (y_2)\log (y_3)\right) y_2y_3\nonumber \\&\quad \ + \left( -\frac{5}{2} + 3\log (y_3) + \log (y_2)\log (y_3)\right) y_3^{2} \nonumber \\ {}&\quad \ + \left( -\frac{49}{18} + \frac{11}{3}\log (y_2) + \log (y_2)\log (y_3)\right) y_2^{3}\nonumber \\&\quad \ + \left( -\frac{29}{2} + 15\log (y_2) + 6\log (y_3) + 9\log (y_2)\log (y_3)\right) y_2^{2}y_3 \nonumber \\&\quad \ + \left( -\frac{205}{72} + \frac{25}{6}\log (y_2) + \log (y_2)\log (y_3)\right) y_2^{4} \,+\, \cdots . \end{aligned}$$
(4.19)

We recall that these four functions are a basis of the space of solutions to the D-ideal \(I_3\). In order to pick out a specific solution, such as the one corresponding to the triangle Feynman integral from which we started, one needs to prescribe \({\text {rank}}(I_3)\)-many initial conditions. This can be done in a number of ways. For example, we may numerically evaluate the triangle Feynman integral \(J_{4;1,1,1}^\textrm{triangle}\) at four arbitrary kinematic points.Footnote 3 For each cone, the kinematic points \(x=(x_1,x_2,x_3)\) must be chosen so that consecutive truncations of the canonical series evaluated at x converge. In this way, the truncation of the canonical series at w-weight k provides an approximation of the solutions, with an error comparable to the size of the omitted terms of w-weight \(k+1\). For example, in the cone \(C_1\) with weight vector \(w=(-1,0,1)\), we must have that \(|x_1| \gg |x_2| \gg |x_3|\). Comparing the numerical evaluations obtained using AMFlow [51] to a linear combination of the canonical series in (4.19) allows us to determine that

$$\begin{aligned} J_{4;1,1,1}^\textrm{triangle}(x_1,x_2,x_3) \,=\, x_1^{-1} \biggl [ -\tilde{f}_4\left( \frac{x_2}{x_1},\frac{x_3}{x_1} \right) - \frac{\pi ^2}{3} \tilde{f}_1\left( \frac{x_2}{x_1},\frac{x_3}{x_1} \right) \biggr ]\,. \end{aligned}$$
(4.20)

We validated this against further numerical evaluations, as well as against the analytic solution in (2.9).

5 Series solutions using Wasow’s method

In this section, we discuss how to construct series solutions of the ideal \(I_3\) using the toolkit developed for computing Feynman integrals in high energy physics. We provide an alternative approach for constructing the canonical series solutions discussed in the previous sections without resorting to Gröbner basis techniques, and give a dictionary between the two methods. We also touch base with the problem of solving a first-order Pfaffian system of PDEs, namely a system of PDEs of the form

$$\begin{aligned} \frac{\partial }{\partial x_i} \bullet F(x) \,=\, P_{i}(x) \cdot F(x) \qquad \text{ for } \ i \,=\, 1,\ldots ,n, \end{aligned}$$
(5.1)

where F(x) is a vector-valued function of \(x=(x_1,\ldots ,x_n)\). This is a typical problem that arises in the evaluation of Feynman integrals. Often, one aims to approximate the solution F(x) for small values of some variable, say of \(x_1\). If the Pfaffian system (5.1) is in a manifestly Fuchsian form at \(x_1=0\), i.e., if the matrices \(P_i(x)\) have at most simple poles at \(x_1=0\), there is an algorithm [65] to construct the asymptotic series of the solution F(x) around \(x_1=0\); see, e.g., [67] for a discussion in the context of Feynman integrals. They will be of the form

$$\begin{aligned} F(x) \,=\, \sum _{k\ge 0} \sum _{m=0}^{m_{\text {max}}} c_{k,m}(x_2,\ldots , x_n) \, x_1^k \log (x_1)^m \,, \end{aligned}$$
(5.2)

up to an arbitrary power of \(x_1\), with \(m_{\text {max}}\) a positive integer which depends on the specific Pfaffian system, and \(c_{k,m}\) are Laurent series in \(x_2,\ldots ,x_n\). The series in (5.2) is a particular case of (1.1): for the weight \(w=(1,0,\ldots ,0)\), the series in (1.1) is the truncation of (5.2).

A number of issues needs to be addressed in order to apply this method to D-ideals. First of all, we need to construct a Pfaffian system associated with the considered D-ideal. In [56, p. 23], it is explained how to achieve this by Gröbner basis computations. In Sect. 5.1, we present an alternative algorithm which relies on linear algebra only, and apply it to the D-ideal \(I_3\). This method is inspired by the problem of integration-by-parts (IBP) reduction for Feynman integrals [22, 58]. We spell this analogy out, and provide a dictionary of the relevant concepts. As a by-product, this method allows us to determine the holonomic rank and the singular locus of the D-ideal without computing Gröbner bases. The resulting Pfaffian system is in general not in a manifestly Fuchsian form; double or higher-order poles may appear in the DEs, preventing us from applying the algorithm from [65] to construct the asymptotic series of the solutions. Finding a gauge transformation which puts the Pfaffian system into Fuchsian form is a well-known problem in Feynman integrals [37], and a number of strategies have been developed in that context, see, e.g., [38, 50]. In Sect. 5.2, we argue that, if a D-ideal is regular holonomic, for every singular point \(x^*\) it is possible to find a gauge transformation such that the associated Pfaffian system has at most simple poles at \(x=x^*\). In the case of \(I_3\), we show that we can even construct a Pfaffian system which is manifestly Fuchsian everywhere, namely which has at most simple poles at any singular point. The resulting system is particularly simple; we can solve it analytically, and by doing so, we will recover the solutions to \(I_3\) given in (2.12). Finally, we need to fill an important conceptual gap. The canonical series computed by Gröbner bases are truncated by the w-weight of the terms. The asymptotic series expansions, on the other hand, rely on the notion of a “small parameter,” e.g., \(x_1\) in Eq. (5.2), and are truncated at a given power of it. To link the two notions, in Sect. 5.3, we introduce an auxiliary variable t, which captures the w-weight of the monomials. We compute the asymptotic solutions of the Pfaffian system around \(t=0\), and verify that they coincide with the canonical series computed in Sect. 4.

5.1 Pfaffian systems

In this section, we present a method for constructing a Pfaffian system of PDEs associated with a given D-ideal using linear algebra. We are going to apply that method to the conformal D-ideal \(I_3\). A closely related method to efficiently construct Pfaffian matrices is discussed in [21]. Our presentation builds on the analogy with IBP reduction, to the benefit of the readers who are familiar with Feynman integrals.

In Sect. 3.2, we have seen that the vector-valued function F(x), which satisfies a Pfaffian system (5.1) associated with a \(D_n\)-ideal I with \(\text {rank}(I)=m\) is given by

$$\begin{aligned} F(x) \,=\, \begin{bmatrix} \partial ^{p(1)} \bullet f(x) \\ \vdots \\ \partial ^{p(m)} \bullet f(x) \end{bmatrix}, \end{aligned}$$
(5.3)

where f(x) is a general holomorphic solution of I, and \(p(1),\ldots ,p(m)\in \mathbb {N}^n\) such that \(\{\partial ^{p(1)}, \ldots , \partial ^{p(m)}\}\) are the standard monomials of the left R-ideal RI for a given monomial ordering. We may assume \(\partial ^{p(1)} = 1\), so that the first entry of F(x) is a holomorphic solution of I. The standard monomials can be determined by Gröbner bases in R, and the matrices \(P_i(x)\) in the Pfaffian system (5.1) can be obtained through reduction in R,

$$\begin{aligned} \partial _i \partial ^{p(j)} \,=\, \sum _{k=1}^m \left( P_i(x)\right) _{jk} \partial ^{p(k)} \ \text {mod} \, RI. \end{aligned}$$
(5.4)

Our goal is to construct a Pfaffian system of I using linear algebra only. Let \(Q_1,\ldots ,Q_N\) be generators of I. First of all, the R-monomials \(\partial ^{p(i)}\) defining F(x) as in (5.3) need not to be standard monomials for F(x) to satisfy a first-order Pfaffian system of PDEs. It suffices that they are a \(\mathbb {C}(x)\)-basis of R/RI. One way to find such a basis is to write down the relations among the monomials \(\partial ^a\) in R/RI, and solve them. There are infinitely many such relations in R/RI, obtained by multiplying the generators \(Q_i\) of I by any \(\partial ^a\),

$$\begin{aligned} \left\{ \partial ^a Q_i \equiv 0 \ {\text {mod}}\, RI \, | \, i=1,\ldots ,N, \ a \in \mathbb {N}_0^n \right\} . \end{aligned}$$
(5.5)

We view this as a linear system of equations in the “variables” \(\partial ^a\). In Sect. 3.2, we have seen that, if I has finite holonomic rank m, the linear system (5.5) has m independent variables. In other words, any \(\partial ^a\) can be expressed as a linear combination of m \(\partial ^a\)’s in R/RI by solving the linear system (5.5). The issue is that there are infinitely many equations. We cannot solve them all, nor do we need to. We instead adopt an approach inspired by Laporta’s algorithm [46] for solving integration-by-parts relations in the context of Feynman integrals.

We introduce an ordering > of the unknowns \(\partial ^a\) graded by the total degree of the derivatives. The ordering among unknowns with the same degree is instead arbitrary. It will lead to a different basis of R/RI. For instance, we choose the graded lexicographic order. Explicitly, for \(n=2\), we have

$$\begin{aligned} \cdots \,>\, \partial _1^2 \,>\, \partial _1 \partial _2 \,>\, \partial _2^2 \,>\, \partial _1 \,>\, \partial _2 \,>\, 1. \end{aligned}$$
(5.6)

Next, we multiply the generators \(Q_i\in D\) by \(\partial \)’s from the left, up to a certain degree \(d_{\text {max}}\).Footnote 4 This yields the equations

$$\begin{aligned} \partial ^a Q_i \equiv 0 \quad \text {mod} \, RI\,, \quad i = 1,\ldots , N, \end{aligned}$$
(5.7)

where \(a\in \mathbb {N}^n\) runs over all vectors of natural numbers with \( a_1 + \cdots + a_n \le d_{\text {max}}\). We denote the resulting finite system of equations by \(S_{d_{\text {max}}}\). We dub this operation seeding, in analogy with the equivalent step in constructing IBP relations for Feynman integrals.

Since we have truncated the system of equations, some unknowns cannot be solved for with the equations in \(S_{d_{\text {max}}}\). The key idea is to solve them only for a subset of the unknowns, in particular those with total degree up to some value \(d_{\text {needed}}\) below \(d_{\text {max}}\) (e.g., \(d_{\text {needed}}=d_{\text {max}}-1\)), and to eliminate the other unknowns through Gaussian elimination. We denote by \(\mathbb {D}\) the vector containing all unknowns \(\partial ^a\) appearing in \(S_{d_{\text {max}}}\) sorted according to the ordering defined above, and by \(\mathbb {D}_{\text {needed}}\) the needed unknowns,

$$\begin{aligned} \mathbb {D}_{\text {needed}} \,=\, \left\{ \partial ^a \in \mathbb {D} \,|\, a_1+\cdots +a_n \le d_{\text {needed}} \right\} . \end{aligned}$$
(5.8)

By construction, \(\mathbb {D} \) has the block form

(5.9)

with \( \mathbb {D}_{\text {extra}} = \mathbb {D} \backslash \mathbb {D}_{\text {needed}} \). We represent the equations in \(S_{d_{\text {max}}}\) in matrix form as

$$\begin{aligned} M(x) \cdot \mathbb {D} \,\equiv \, 0 \quad \text {mod} \, RI, \end{aligned}$$
(5.10)

where M(x) is a \([S_{d_{\text {max}}}] \times [\mathbb {D}]\) matrix whose entries depend on x. We row-reduce M(x) and drop the null rows. The resulting system of equations has the form

(5.11)

Finally, we perform back substitution, but only for the needed unknowns. In other words, we solve the subset of equations

$$\begin{aligned} C(x) \cdot \mathbb {D}_{\text {needed}} \, \equiv \, 0 \quad \text {mod} \, RI. \end{aligned}$$
(5.12)

As a result, we obtain the expressions of the needed unknowns in terms of a subset of independent monomials \(\partial ^a\) in R/RI. Let us make a few comments about this algorithm.

  1. (1)

    The value of \(d_{\text {max}}\) must be higher than the maximal degree of the standard monomials. In practice, we iterate the algorithm for various increasing values of \(d_{\text {max}}\) until we see that the resulting independent monomials stay the same. These are a basis of R/RI.

  2. (2)

    If the D-ideal I has infinite holonomic rank, the algorithm will not terminate. In practice, as we increase \(d_{\text {max}}\), we will obtain more and more independent monomials. Thus, this procedure is a linear algebra approach for computing the holonomic rank of a D-ideal.

  3. (3)

    Let \(\{\partial ^{p(1)},\ldots ,\partial ^{p(m)} \}\) be a \(\mathbb {C}(x)\)-basis of R/RI. If the needed unknowns include \(\partial _i \partial ^{p(j)}\) for any \(i=1,\ldots ,n\) and \(j=1,\ldots ,m\), the matrices \(P_i(x)\) of the Pfaffian system (5.1) can be read off from the solution of the system of equations discussed above.

  4. (4)

    This algorithm does not prove that the identified monomials \(\partial ^a\) are a basis of R/RI. However, the resulting Pfaffian system of DEs must satisfy the integrability conditions (3.13). If the latter are not satisfied, either a higher value of \(d_{\text {max}}\) must be used, or the ideal has infinite holonomic rank. If they are satisfied, the solution space has a \(\mathbb {C}\)-dimension equal to the length of F(x) (see Sect. 3.2). Since the first component of F(x) is by construction a general solution of the original ideal I, we can conclude that the algorithm has terminated, and that a basis of R/RI has been identified.

  5. (5)

    The common denominator of the entries of the matrices \(P_i\) in the Pfaffian system (5.1) defines a hypersurface which contains the singular locus of I.

  6. (6)

    There is a strong analogy with IBP reduction in Feynman integrals, which we summarized in Table 1.

Table 1 Analogies between the construction of a first-order Pfaffian system of DEs associated with a given D-ideal and IBP reduction of Feynman integrals

We now apply this algorithm to the conformal ideal \(I_3\). It is convenient to use the variables y defined in (4.11), and to eliminate \(y_1\) from the problem as follows. Lemma 4.3 guarantees that every solution of \(I_3\) has the form \(\tilde{f}(y_2,y_3)/y_1\). Any function of such form is annihilated by the generator \(\tilde{P}_3\) in (2.8). The action of the other two generators can be expressed as follows:

$$\begin{aligned} x_1^2 \, \tilde{P}_i \bullet \left[ \frac{1}{x_1} \tilde{f}\left( \frac{x_2}{x_1},\frac{x_3}{x_1}\right) \right] \,=\, Q_i \bullet \tilde{f}(y_2, y_3) \quad \text {for }\ i\,=\,1,2. \end{aligned}$$
(5.13)

Here, \(Q_1\) and \(Q_2\) are differential operators which depend on \(y_2\) and \(y_3\) only:

$$\begin{aligned} \begin{aligned} Q_1&\,=\, y_2^2 \partial _{y_2}^2 + 2 y_2 y_3 \partial _{y_2} \partial _{y_3} + (y_3-1) y_3 \partial _{y_3}^2 + 3 y_2 \partial _{y_2} + (3 y_3-1) \partial _{y_3} + 1, \\ Q_2&\,=\, y_2 \partial _{y_2}^2 - y_3 \partial _{y_3}^2 + \partial _{y_2} - \partial _{y_3}\,. \end{aligned}\end{aligned}$$
(5.14)

We denote by \(I_3^y\) the D-ideal generated by \(Q_1\) and \(Q_2\). It is holonomic, it has holonomic rank 4, and its singular locus is

$$\begin{aligned} \text {Sing}\left( I_3^y \right) \,=\, V(y_2 y_3 \tilde{\lambda }), \end{aligned}$$
(5.15)

where \(\tilde{\lambda }\) is obtained from the polynomial \(\lambda \) (2.10) as

$$\begin{aligned} \tilde{\lambda } \,=\, \lambda |_{x_1=1, \, x_2=y_2, \, x_3=y_3}. \end{aligned}$$
(5.16)

The general solution of \(I_3\) is given by the general solution of \(I_3^y\) divided by \(y_1\). Hereinafter, we will thus focus on \(I_3^y\). Since the latter depends on \(y_2\) and \(y_3\) only, we use the shorthand notations \(y = (y_2,y_3)\), \(y^a = y_2^{a_2} y_3^{a_3}\), and \(\partial _y^a = \partial _{y_{2}}^{a_2} \partial _{y_{3}}^{a_3}\). We compute a basis of \(R/RI_3^y\) by running the algorithm described above. We use \(d_{\text {needed}}=d_{\text {max}}-1\). For \(d_{\text {max}}=1\), we find only one basis element, namely 1. Starting from \(d_{\text {max}}=2\) and onwards, we identify four basis elements. We define

$$\begin{aligned} \tilde{F}(y) \, \,{:}{=}\,\, \begin{bmatrix} \tilde{f}(y) \\ \partial _{y_2} \bullet \tilde{f}(y) \\ \partial _{y_3} \bullet \tilde{f}(y) \\ \partial _{y_3}^2 \bullet \tilde{f}(y) \end{bmatrix}\,, \end{aligned}$$
(5.17)

where \(\tilde{f}(y)\) is a holomorphic solution of \(I_3^y\). It satisfies a system of first-order Pfaffian DEs

$$\begin{aligned} \partial _{y_i} \bullet \tilde{F}(y) \,=\, \tilde{P}_{i}(y) \cdot \tilde{F}(y), \end{aligned}$$
(5.18)

and the \(4 \times 4\) matrices \(\tilde{P}_{i}\) satisfy the integrability conditions. For example, \(\tilde{P}_2\) is the matrix

$$\begin{aligned} \tilde{P}_2 \,=\, \begin{bmatrix} 0 &{}\quad 0 &{}\quad \frac{-1}{2 y_2 y_3} &{}\quad \frac{\tilde{\lambda }-2 y_3 (1 + y_2 - y_3)}{2 y_2 y_3^2 \, \tilde{\lambda }}\\ 1 &{}\quad -\frac{1}{y_2} &{}\quad -\frac{1}{y_3} &{}\quad \frac{ \tilde{\lambda } - y_3 (1 + 3 y_2 - y_3) }{ y_3^2 \, \tilde{\lambda }} \\ 0 &{}\quad \frac{1}{y_2} &{} \quad \frac{1 - y_2 - 3 y_3}{2 y_2 y_3} &{}\quad \frac{ (y_2 + y_3 - 1) \left( \tilde{\lambda } - 2 y_3 (2 + 3 y_2 - 4 y_3) \right) }{2 y_2 y_3^2 \, \tilde{\lambda }}\\ 0 &{}\quad \frac{y_3}{y_2} &{} \quad \frac{1-y_2-y_3}{2 y_2} &{}\quad \frac{3}{2 y_2} + \frac{y_2-1}{2 y_2 y_3} + {\scriptstyle 5} \frac{1 - y_2 + y_3}{\tilde{\lambda }} \end{bmatrix}^{\top }. \end{aligned}$$
(5.19)

From Eq. (5.19), we see that the common denominator is \(y_2 y_3^2 \tilde{\lambda }\), which is in agreement with the singular locus computed via Gröbner bases. Furthermore, some entries have double poles at \(y_3 = 0\). The system is thus not in Fuchsian form. In the next section, we will perform a gauge transformation to obtain a Pfaffian system which is in a manifestly Fuchsian form.

5.2 Writing the system in Fuchsian form

If a D-ideal I is regular holonomic, all solutions have moderate growth when approaching the singular locus (cf. Sect. 3). This implies that the solutions cannot have essential singularities. This has implications for the form of the associated first-order Pfaffian system of DEs. A first-order ODE having poles of order higher than 1 implies that its solution has an essential singularity. The moderate growth condition on the solutions to regular holonomic D-ideals thus implies that the associated Pfaffian system has at most simple poles. The Pfaffian systems may however have “spurious” double poles. For example, the system

$$\begin{aligned} \partial _x \bullet F(x) \,=\, \begin{bmatrix} -\frac{1}{x} &{} \frac{1}{x^2} \\ 0 &{} 0 \\ \end{bmatrix} \cdot F(x) \end{aligned}$$
(5.20)

exhibits a double pole at \(x=0\), yet the solution

$$\begin{aligned} F(x) \,=\, \begin{bmatrix} c_1 \frac{\log (x)}{x} + \frac{c_2}{x} \\ c_1 \end{bmatrix} \end{aligned}$$
(5.21)

has no essential singularity at \(x=0\). Such spurious poles can be removed by a suitable gauge transformation,

$$\begin{aligned} F(x) \,=\, T(x) \cdot G(x). \end{aligned}$$
(5.22)

The goal is to construct the transformation matrix T(x) such that the new vector-valued function G(x) satisfies a first-order system of DEs which is manifestly Fuchsian at \(x=0\). For this simple rank-two example this can be achieved by

$$\begin{aligned} T(x) \,=\, \begin{bmatrix} \frac{1}{x} &{}\quad 0 \\ 0 &{}\quad 1 \end{bmatrix}, \end{aligned}$$
(5.23)

which leads to

$$\begin{aligned} \partial _x \bullet G(x) \,=\, \begin{bmatrix} 0 &{}\quad \frac{1}{x} \\ 0 &{}\quad 0 \\ \end{bmatrix} \cdot G(x). \end{aligned}$$
(5.24)

The problem of finding a gauge transformation which puts a Pfaffian system into a manifestly Fuchsian form is central in the modern methodology for computing Feynman integrals [37]. For our purposes, it suffices to put the Pfaffian system in a form which is manifestly Fuchsian at the singular point around which we compute the asymptotic expansion. If the entries of the required transformation matrix are in the field of rational functions, this problem is solved (see [38, 50] and the references therein). For the Pfaffian system associated with the D-ideal \(I_3^y\) constructed in the previous subsection, we perform the gauge transformation

$$\begin{aligned} \tilde{F}(y) \,=\, \tilde{T}(y) \cdot \tilde{G}(y) \end{aligned}$$
(5.25)

with the following transformation matrixFootnote 5

$$\begin{aligned} \tilde{T}(y) \,=\, \begin{bmatrix} \frac{1}{\sqrt{\tilde{\lambda }}} &{} 0 &{} 0 &{} 0 \\ \frac{1-y_2+y_3}{\tilde{\lambda }^{\frac{3}{2}}} &{} - \frac{1}{\tilde{\lambda }} &{} \frac{y_2+y_3-1}{2 y_1 \tilde{\lambda }} &{} 0 \\ \frac{1+y_2-y_3}{\tilde{\lambda }^{\frac{3}{2}}} &{} \frac{y_2+y_3-1}{2 y_3 \tilde{\lambda }} &{} -\frac{1}{\tilde{\lambda }} &{} 0 \\ \frac{2(\tilde{\lambda } + 6 y_2)}{\tilde{\lambda }^{\frac{5}{2}}} &{} \frac{6 y_2 y_3 (1 + y_3) -6 y_3 (1-y_3)^2 + \tilde{\lambda } (1 - y_2 + 3 y_3) }{2 y_3^2 \tilde{\lambda }^2} &{} \frac{3 (y_3-y_2-1)}{\tilde{\lambda }^2} &{} \frac{-1}{y_3 \tilde{\lambda }} \\ \end{bmatrix}. \end{aligned}$$
(5.26)

As a result, \(\tilde{G}(y)\) satisfies a linear system of first-order DEs which is in Fuchsian form. It can be elegantly expressed as

$$\begin{aligned} \textrm{d}\tilde{G}(y) \,=\, \textrm{d}\tilde{B}(y) \cdot \tilde{G}(y), \end{aligned}$$
(5.27)

where

$$\begin{aligned} \tilde{B}(y) \,=\, \begin{bmatrix} 0 &{}\quad \frac{1}{2} \log \bigl (\tilde{l}_4\bigr ) &{}v -\frac{1}{2} \log \bigl (\tilde{l}_3\bigr )-\frac{1}{2}\log \bigl (\tilde{l}_4\bigr ) &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad \log \bigl (\tilde{l}_1\bigr ) \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad \log \bigl (\tilde{l}_2\bigr ) \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ \end{bmatrix}, \end{aligned}$$
(5.28)

and

$$\begin{aligned} \tilde{l}_1 \,=\, y_2, \quad \tilde{l}_2 \,=\, y_3, \quad \tilde{l}_3 \,=\, \frac{1-y_2-y_3 - \sqrt{\tilde{\lambda }}}{1-y_2-y_3+\sqrt{\tilde{\lambda }}}, \quad \tilde{l}_4 \,=\, \frac{y_2-y_3-1-\sqrt{\tilde{\lambda }}}{y_2-y_3-1+\sqrt{\tilde{\lambda }}}. \end{aligned}$$
(5.29)

In the Feynman integral literature, the arguments \(\tilde{l}_i\) of the logarithms in the Fuchsian Pfaffian system (5.27) are called symbol letters, and their ensemble \(\{\tilde{l}_i\}\) symbol alphabet [33]. They encode the possible singular points of the solution. Indeed, the letters in Eq. (5.29) vanish exactly on the singular locus of \(I_3^y\) given in (5.15). The system (5.27) is therefore in a manifestly Fuchsian form, i.e., it has at most simple poles at every singular point. In (5.29), the readers with some experience in Feynman integrals may recognize the alphabet of the three-mass triangle Feynman integrals [20], minus an additional letter equal to \(\sqrt{\tilde{\lambda }}\). The relation between this alphabet and conformal symmetry was already observed in [23], and is a promising hint that this alphabet may be valid at any loop order. The matrix in (5.28) exhibits the block triangular structure observed in [19] for the differential equations satisfied by finite Feynman integrals. We expect that differential equations corresponding to (5.27) can be obtained using the method of [19].

Before we move on to constructing the asymptotic series solutions in the next section, we point out that the form of the first-order Pfaffian system in (5.27) is particularly well-behaved; its solutions can be written down explicitly in terms of logarithms and dilogarithms. The matrix \(\tilde{B}(y)\) (5.28) is upper block triangular, which allows us to solve the system (5.27) iteratively. We obtain

$$\begin{aligned} \frac{1}{\sqrt{\tilde{\lambda }}} \cdot \tilde{G}(y_2,y_3) \, = \, \begin{bmatrix} k_1 f_1(x) + k_2 f_2(x) + k_3 f_3(x) + k_4 f_4(x) \\ k_1 \frac{\log \left( \frac{x_2}{x_1}\right) }{\sqrt{\lambda }} + 2 (k_3-k_2) f_4(x) \\ k_1 \frac{\log \left( \frac{x_3}{x_1}\right) }{\sqrt{\lambda }} - 2 k_2 f_4(x) \\ k_1 f_4(x) \\ \end{bmatrix}_{x_1 = 1,\, x_2 = y_2,\, x_3 = y_3}, \end{aligned}$$
(5.30)

where \(f_1(x), \ldots , f_4(x)\) are the solutions to \(I_3\) from (2.12), and \(k_1,\ldots , k_4\in \mathbb {C}\) are arbitrary constants. Recalling the relation (5.25) between \(\tilde{F}(y)\) and \(\tilde{G}(y)\) with \(\tilde{T}(y)\) as in (5.26), and that the first component of \(\tilde{F}(y)\) divided by \(y_1\) is a general solution to \(I_3\), we have proven that \(f_1(x), \ldots , f_4(x)\) are indeed a basis of the space of solutions to \(I_3\).

5.3 Asymptotic series solutions

5.3.1 Capturing the weight via an auxiliary variable

We now compute the asymptotic solutions to the first-order Pfaffian system (5.27). Since the latter is in Fuchsian form, we can use Wasow’s algorithm [65] to expand around any singular point without resorting to Gröbner bases. In order to build a bridge to the canonical series solutions, which are defined with respect to a weight vector \(w\in \mathbb {R}^n\), we introduce an auxiliary variable t as follows. Let f(x) be the general solution to the ideal under consideration. We define a new function \(f_w\), which depends both on the original variables x and on t as

$$\begin{aligned} f_w\left( t, x\right) \, \,{:}{=}\,\, f\left( t^w x\right) , \end{aligned}$$
(5.31)

where \(t^w x\) is a shorthand notation for \((t^{w_1} x_1,\ldots , t^{w_n} x_n)\).

Remark 5.1

To motivate the construction in (5.31), consider the toy example where the function is a monomial, say \(f(x) = x^a\) for some \(a\in \mathbb {N}^n\). The exponent of t in the auxiliary function \(f_w(t,x) = t^{w\cdot a} x^a\) gives the w-weight of the monomial, namely \(w\cdot a\). In this sense, the exponent of the auxiliary variable t captures the notion of weight. \(\diamond \)

We then compute the asymptotic expansion of \(f_w(t,x)\) around \(t=0\),

$$\begin{aligned} {f}_w(t,x) \,=\, \sum _{k \ge 0} \sum _{m=0}^{m_{\text {max}}} c_{k,m}(x) \, t^k \log (t)^m, \end{aligned}$$
(5.32)

where \(m_{\text {max}}\) is a natural number which depends on the specific ideal. By construction, the monomials in \(c_{k,m}(x)\) have w-weight k. By definition, we have that \(f_w|_{t=1} \equiv f.\) Hence, we expect that the asymptotic expansion (5.32) around \(t=0\), truncated at \(t^k\) and evaluated at \(t=1\) equals the canonical series expansion truncated at w-weight k.

Example 5.2

Consider the simplest of the solutions to the ideal \(I_3\) from Eq. (2.12),

$$\begin{aligned} f_4(x) \, = \, \frac{1}{\sqrt{\lambda }}, \end{aligned}$$
(5.33)

where \(\lambda \) is the homogeneous polynomial of degree 2 defined in Eq. (2.10). For the weight vector \(w=(-1,0,1)\) in cone \(C_1\), we introduce the auxiliary variable t via

$$\begin{aligned} f_{4,w}(t,x) \, = \, f_4\left( \frac{x_1}{t}, \, x_2, \, t \, x_3 \right) . \end{aligned}$$
(5.34)

The asymptotic expansion around \(t=0\) is given by a Taylor expansion in t,

$$\begin{aligned} {f}_{4,w}(t,x) \, = \, \frac{t}{x_1} + t^2 \frac{x_2}{x_1^2} + t^3 \left( \frac{x_2^2}{x_1^3} + \frac{x_3}{x_1^2}\right) + t^4 \left( \frac{x_2^3}{x_1^4} + 4 \frac{x_2 x_3}{x_1^3} \right) + \mathcal {O}\left( t^5 \right) . \end{aligned}$$
(5.35)

We see that the monomials \(x^a\) appearing as coefficients of \(t^k\) have w-weight \(w \cdot a = k\). Truncating the expansion (5.35) at order k and setting \(t=1\) gives the canonical series solution truncated at w-weight k, e.g.,

$$\begin{aligned} f_4(x) \, = \, \frac{1}{x_1} + \frac{x_2}{x_1^2} + \frac{x_2^2}{x_1^3} + \frac{x_3}{x_1^2}+ \frac{x_2^3}{x_1^4} + \frac{4 x_2 x_3}{x_1^3} + \cdots , \end{aligned}$$
(5.36)

where the dots denote terms of w-weight 5 or higher. Indeed, this coincides with the series \(\tilde{f}_1(y_2,y_3)\) in (4.19), upon substituting y in terms of x in the latter, and dividing it by \(x_1\) to obtain a solution of \(I_3\) through Lemma 4.3. \(\diamond \)

The derivatives of \(f_w\left( t, x\right) \) with respect to x and t can be obtained from the derivatives of f(x) through the chain rule, so that we can straightforwardly construct a system of PDEs to which \(f_w(t,x)\) is a solution, starting from that for f(x). In the next section, we will use this approach to compute the canonical series solutions to the Fuchsian system derived in Sect. 5.2, and verify that they reproduce those computed in Sect. 4.

5.3.2 Computations for the cone \(C_1\)

We now turn to the asymptotic solution of the Fuchsian system (5.27). We choose the weight vector \(w=(-1,0,1)\) from the cone \(C_1\) of the small Gröbner fan. The corresponding weight for the y-variables is \(w_y = (-1,1,2)\). We thus introduce the auxiliary variable t via

$$\begin{aligned} \tilde{G}_w(t,y_2,y_3) \, = \, \tilde{G}\left( t \, y_2, t^2 y_3 \right) , \end{aligned}$$
(5.37)

where \(\tilde{G}(y_2,y_3)\) is a holomorphic vector-valued function which satisfies the Fuchsian Pfaffian system (5.27). The auxiliary function \(\tilde{G}_w(t,y)\) satisfies a Pfaffian system in Fuchsian form; for \(i=y_2,y_3,t\),

$$\begin{aligned} \partial _{i} \bullet \tilde{G}_w(t,y) \, = \, \tilde{B}_{i}(t,y) \cdot \tilde{G}_w(t,y). \end{aligned}$$
(5.38)

The matrices \(\tilde{B}_{i}(t,y)\) are obtained from the derivatives of \(\tilde{G}(y)\) through the chain rule,

$$\begin{aligned} \tilde{B}_i(t,y) \, = \, \partial _i \bullet \tilde{B}\left( t \, y_2, t^{2} y_3 \right) . \end{aligned}$$
(5.39)

In order to compute the asymptotic expansion of the solutions around \(t=0\), we need to study the behavior of the matrices \(\tilde{B}_{i}(t,y)\) around \(t=0\). The Laurent expansion of \(\tilde{B}_t(t,y)\) is

$$\begin{aligned} \tilde{B}_t(t,y) \ =\ \frac{\tilde{B}_t^{\text {res}}}{t} \,+\, \sum _{k\ge 0} t^k \, \tilde{B}_t^{(k)}(y). \end{aligned}$$
(5.40)

Since the system is in Fuchsian form, there can be no pole of higher order. The residue at \(t=0\), i.e., the constant matrix \(\tilde{B}_t^{\text {res}}\), has the eigenvalue 0 only. The matrices \(\tilde{B}_{y_2}(t,y)\) and \(\tilde{B}_{y_3}(t,y)\) are instead non-singular at \(t=0\).

The first step of the algorithm in [65] is to perform a gauge transformation \(\tilde{G}_w \rightarrow \tilde{G}_w'\),

$$\begin{aligned} \tilde{G}_w(t,y) \,=\, \tilde{U}(t,y) \cdot \tilde{G}_w'(t,y). \end{aligned}$$
(5.41)

In the new basis, our vector-valued function satisfies the system

$$\begin{aligned} \partial _i \bullet \tilde{G}_w'(t,y) \,=\, \tilde{B}'_i(t,y) \cdot \tilde{G}_w'(t,y), \end{aligned}$$
(5.42)

for \(i=y_2,y_3,t\), with

$$\begin{aligned} \tilde{B}'_i(t,y) \, = \, \tilde{U}^{-1}(t,y) \cdot \tilde{B}_i(t,y) \cdot \tilde{U}(t,y) - \tilde{U}^{-1}(t,y) \cdot \partial _i\bullet \tilde{U}(t,y). \end{aligned}$$
(5.43)

The key idea is to choose the gauge transformation such that the DEs for \(\tilde{G}_w'(t,y)\) are simpler than those for \(\tilde{G}_w(t,y)\) in view of the asymptotic solution around \(t=0\). In particular, we wish to simplify \(\tilde{B}'_t(t,y)\) so that it has a simple pole only, i.e., is of the form

$$\begin{aligned} \tilde{B}'_t(t,y) \, = \, \frac{\tilde{B}_t^{\text {res}}}{t}. \end{aligned}$$
(5.44)

We can construct the transformation matrix \(\tilde{U}(t,y)\) which achieves (5.44) as a series in t,.Footnote 6

$$\begin{aligned} \tilde{U}(t,y) \, = \, \sum _{k\ge 0} t^k \, \tilde{U}_k(y). \end{aligned}$$
(5.45)

We plug this expansion into Eq. (5.43) and impose that the resulting \(\tilde{B}'_t(t,y) \) satisfies (5.44). The first term in the expansion, \(\tilde{U}_0(y)\), must commute with \(\tilde{B}_t^{\text {res}}\). The simplest way to achieve this is to choose \(\tilde{U}_0(y) = \mathbb {I}_4\) to be the \(4 \times 4\) identity matrix. The terms of expansion (5.45) of higher order are determined recursively in terms of the lower ones through the solution of a linear system of equations,

$$\begin{aligned} \tilde{U}_k(y) \cdot \tilde{B}_t^{\text {res}} - \tilde{B}_t^{\text {res}} \cdot \tilde{U}_k(y) + k \, \tilde{U}_k(y) \ = \ \sum _{r=0}^{k-1} \tilde{B}_t^{(k-r-1)}(y) \cdot \tilde{U}_r(y). \end{aligned}$$
(5.46)

As an example, we spell out the first few terms of the resulting transformation matrix:

$$\begin{aligned} \tilde{U}(t,y) \, = \, \mathbb {I}_4 + t \begin{bmatrix} 0 &{}\quad - y_2 &{}\quad 0 &{}\quad y_2 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ \end{bmatrix} + t^2 \begin{bmatrix} 0 &{}\quad -\frac{1}{2} y_2^2 &{}\quad - y_3 &{}\quad \frac{1}{4} y_2^2 + y_3 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 \\ \end{bmatrix} + \mathcal {O}\left( t^3\right) . \end{aligned}$$
(5.47)

As expected, each order in t involves only monomials whose w-weight matches the power of t. As a result, \(\tilde{G}_w'(t,y)\) satisfies the following simplified system of PDEs,

$$\begin{aligned} {\left\{ \begin{array}{ll} \partial _{y_2} \bullet \tilde{G}_w'(t,y) &{}\, = \ \tilde{B}'_{y_2}\left( t,y\right) \cdot \tilde{G}_w'(t,y), \\ \partial _{y_3} \bullet \tilde{G}_w'(t,y) &{}\, = \ \tilde{B}'_{y_3}\left( t,y\right) \cdot \tilde{G}_w'(t,y), \\ \partial _t \bullet \tilde{G}_w'(t,y) &{}\, = \ \dfrac{\tilde{B}_t^{\text {res}}}{t} \cdot \tilde{G}_w'(t,y), \\ \end{array}\right. } \end{aligned}$$
(5.48)

with \(\tilde{B}'_{y_2}\left( t,y\right) \) and \(\tilde{B}'_{y_3}\left( t,y\right) \) determined by (5.43), and non-singular at \(t=0\). We can solve the simplified system (5.48) using the path-ordered exponential formalism (see, e.g., [14] and the references therein). We integrate this system along a path in the (ty)-space of the form

$$\begin{aligned} \left( 0 \,, y^{(0)} \right) \longrightarrow \left( 0 \,, y \right) \longrightarrow \left( t, y \right) , \end{aligned}$$
(5.49)

for some arbitrary values \(y^{(0)}\) of y which do not belong to the singular locus of the ideal. In other words, we pick \((t=0, y=y^{(0)})\) as boundary point,Footnote 7 restore the dependence on y by integrating along the first piece of the path, and then on t by integrating along the second. The result is

$$\begin{aligned} \tilde{G}_w'(t,y) \, = \, \text {e}^{\tilde{B}_t^{\text {res}} \log (t)} \cdot \tilde{h}(y), \end{aligned}$$
(5.50)

where

$$\begin{aligned} \text {e}^{\tilde{B}_t^{\text {res}} \log (t)} \, = \, \begin{bmatrix} 1 &{}\quad -\log (t) &{}\quad -\frac{1}{2} \log (t) &{}\quad -\log ^2(t) \\ 0 &{}\quad 1 &{}\quad 0 &{}\quad \log (t) \\ 0 &{}\quad 0 &{}\quad 1 &{}\quad 2 \log (t) \\ 0 &{} \quad 0 &{}\quad 0 &{}\quad 1\\ \end{bmatrix}, \end{aligned}$$
(5.51)

and \(\tilde{h}(y)\) is the vector-valued holomorphic function which solves the system

$$\begin{aligned} {\left\{ \begin{array}{ll} \partial _{y_2} \bullet \tilde{h}(y) \, = \, \tilde{B}'_{y_2} ( t=0,y) \cdot \tilde{h}(y), \\ \partial _{y_3} \bullet \tilde{h}(y) \, = \, \tilde{B}'_{y_3} ( t=0,y) \cdot \tilde{h}(y). \\ \end{array}\right. } \end{aligned}$$
(5.52)

Explicitly, we have

$$\begin{aligned} \tilde{h}(y) \, = \, \begin{bmatrix} 1 &{} -\frac{1}{2} \log (y_3) &{} -\frac{1}{2}\log (y_2) &{} -\frac{1}{2} \log (y_2) \log (y_3) \\ 0 &{} 1 &{} 0 &{} \log (y_2) \\ 0 &{} 0 &{} 1 &{} \log (y_3) \\ 0 &{} 0 &{} 0 &{} 1 \\ \end{bmatrix} \cdot b, \end{aligned}$$
(5.53)

with \(b = (b_1,b_2,b_3,b_4)^{\top }\in \mathbb {C}^4\).

We now have all the ingredients to compute the asymptotic expansion around \(t=0\) of the solution of the first-order Pfaffian and Fuchsian system of DEs (5.27). It is given by

$$\begin{aligned} \tilde{G}_w(t,y) \, = \, \tilde{U}(t,y) \cdot \text {e}^{\tilde{B}_t^{\text {res}} \log (t)} \cdot \tilde{h}(y). \end{aligned}$$
(5.54)

The gauge transformation matrix, \(\tilde{U}(t,y)\), is given by a Taylor series around \(t=0\) starting with the identity matrix, and can be computed algorithmically up to any order in t. The matrix exponential, \(\text {e}^{\tilde{B}_t^{\text {res}} \log (t)}\), is irrelevant for our purposes, as we will eventually set \(t=1\), and \( \text {e}^{\tilde{B}_t^{\text {res}} \log (1)} = \mathbb {I}_4\). The matrix-valued function \(\tilde{h}(y)\) given in Eq. (5.53) is therefore the only source of powers of \(\log (y)\) in this approach.

We can now write down the asymptotic expansions of the solution to the ideal \(I_3^y\). We recall that a solution to the latter, \(\tilde{f}(y)\), is by construction given by the first component of the vector-valued function \(\tilde{F}(y)\) (see (5.17)). The latter is related to the vector-valued function \(\tilde{G}(y)\) through the gauge transformation (5.25) with transformation matrix \(\tilde{T}(y)\). Putting everything together, we have

$$\begin{aligned} \tilde{f}(y) \,=\, \left[ \tilde{T}\left( y \right) \cdot \tilde{G}(y) \right] _1, \end{aligned}$$
(5.55)

where the subscript 1 denotes the first component of the vector. The series expansion of \(\tilde{G}(y)\) truncated at w-weight k is given by the asymptotic expansion of \(\tilde{G}_w(t,y)\) around \(t=0\) up to order k, given by (5.54), setting \(t=1\). Similarly, the series expansion of the transformation matrix is obtained by the Taylor expansion of \(\tilde{T}_w(t,y) = \tilde{T}(t^w y)\) around \(t=0\), truncated at \(t^k\) and evaluated at \(t=1\). Then, the four linearly independent series solutions to \(I^y_3\) truncated at w-weight 3 are

$$\begin{aligned} \begin{aligned} \tilde{\mathfrak {h}}_1(y)&\,=\, \left[ 1 \right] + \left[ y_2\right] + \left[ y_2^2 + y_3\right] + \cdots , \\ \tilde{\mathfrak {h}}_2(y)&\,=\, \left[ \log (y_2) \right] + \left[ y_2 \log (y_2) \right] + \left[ 2 y_3 + (y_2^2 + y_3) \log (y_2) \right] + \cdots , \\ \tilde{\mathfrak {h}}_3(y)&\,=\, \left[ \log (y_3)\right] + \left[ 2 y_2 + y_2 \log (y_3) \right] + \left[ 3 y_2^2 + (y_2^2 + y_3) \log (y_3) \right] +\cdots , \\ \tilde{\mathfrak {h}}_4(y)&\,=\, \left[ \log (y_2) \log (y_3) \right] + \left[ -2 y_2 + 2 y_2 \log (y_2) + y_2 \log (y_2) \log (y_3) \right] \\&\quad \ + \left[ -\frac{5}{2} y_2^2 - 2 y_3 + 3 y_2^2 \log (y_2) + 2 y_3 \log (y_3) + (y_2^2 + y_3) \log (y_2) \log (y_3) \right] \\&\quad \ + \cdots . \end{aligned} \end{aligned}$$
(5.56)

In the above functions, the square brackets highlight terms of different weight, and the dots denote terms of w-weight 4 or higher. From these, we see that the starting monomials coincide with the solutions to the indicial ideal in (4.15). The series expansions in (5.56) match those computed by Gröbner bases in (4.19) (with \(\tilde{\mathfrak {h}}_i(y) = \tilde{f}_i(y)\)), and are related to the known solutions \(f_i\) from (2.12) via

$$\begin{aligned} \begin{aligned}&f_1(1,y_2,y_3) \, = \, - \tilde{\mathfrak {h}}_4(y) - \frac{\pi ^2}{3} \tilde{\mathfrak {h}}_1(y), \\&f_3(1,y_2,y_3) \, = \, \tilde{\mathfrak {h}}_3(y), \\&f_2(1,y_2,y_3) \, = \, -\tilde{\mathfrak {h}}_2(y)-\tilde{\mathfrak {h}}_3(y), \\&f_4(1,y_2,y_3) \, = \, -\tilde{\mathfrak {h}}_1(y). \\ \end{aligned} \end{aligned}$$
(5.57)

We thus find agreement among the known solutions, the canonical series solutions computed via the SST algorithm, and those computed by solving the Pfaffian system asymptotically. The computations for the remaining cones of the Gröbner fan follow the same strategy. The results can be obtained by relabeling the indices as discussed at the end of Sect. 4.

6 Conclusion and outlook

In this paper, we studied algorithms for obtaining solutions of linear partial differential equations relevant for particle physics. In principle, this applies to all Feynman integrals, as the latter are known to satisfy systems of differential equations (see, e.g., [52]), as well as to further special functions appearing as their solutions, such as multiple polylogarithms. We implemented a method, originally proposed by Saito, Sturmfels, and Takayama [55], to compute canonical Nilsson series expansions. The SST algorithm had been in use already [27, 57] for GKZ systems. To our knowledge, our paper is the first one to implement the algorithmic ideas of SST without requiring hypergeometricity. Using the particular example of conformal differential equations satisfied by a one-loop triangle Feynman integral with general propagator powers, we implemented the SST method and compared it to a method of Wasow [65] that is more commonly used in the context of differential equations for Feynman integrals [38, 50].

Using the example of the triangle Feynman integral, we showed how methods [55, 56] from the theory of D-modules can be used to determine key features of the differential equations, as well as canonical series expansions of the solutions. In particular, for holonomic systems, the holonomic rank corresponds to the number of master integrals in the physics literature. The singular locus determines the set of (possible) singularities of the corresponding Feynman integrals. The solutions to the indicial ideal are the starting terms of the series. Following SST, we use Gröbner basis methods to obtain canonical series expansions. Leveraging the techniques developed for computing Feynman diagrams, we present alternative methods which allow us to extract this precious information from the PDEs without relying on the computation of Gröbner bases.

It is interesting to ask about the scope of the method. Proxies for the complexity of the differential equations are: the number of variables; the order of the differential operators; the number of differential equations. A potential bottleneck in the SST approach could be the reliance on Gröbner bases. However, compared to other situations where Gröbner methods are used (e.g., for analyzing equations of high polynomial degree), one would expect the polynomials appearing in the PDEs of physical interest to have moderate degree. (As a proof of principle, we showed in Appendix C an application to a four-loop ladder integral.) Moreover, our comparison with Wasow’s method shows that, in principle, these methods can be replaced by linear algebra operations, which could potentially scale better. Then again, Wasow’s method relies on the Pfaffian system being in Fuchsian form at the regular singular point around which we wish to expand. While several strategies to achieve this have been developed especially in the context of Feynman integrals, they have limitations. This makes it even more interesting to have two complementary approaches.

There are various interesting practical and conceptual questions for follow-up work. On the practical side, the physics literature provides many important classes of Feynman integrals that are relevant for the phenomenology of elementary particles, in the context of gravitational wave physics, or in cosmology, for example. A prerequisite of our method is the knowledge of the relevant differential equations. Obtaining the latter is an interesting active area of research in itself, see, e.g., [45] and the references therein. It would be interesting to study the scope of the SST algorithm for the Picard–Fuchs equations obtained in [45].

On the conceptual side, let us mention the following questions. Firstly, when dealing with equations in multiple variables, one may ask how one can restrict the differential equations to lower-dimensional submanifolds. Physical examples include on-shell limits, or restrictions to submanifolds corresponding to (spurious) singularities. Secondly, there are important situations where only a subset of the relevant differential equations is available (e.g., because they are easier to obtain than the complete equations, as, e.g., in [29]). In other words, in these situations, the holonomic rank of the D-ideal is not finite, and hence there is functional freedom in the solutions. This happens for example for the differential equations that follow from conformal or Yangian symmetry beyond the three-particle case. It is then interesting to study how holonomic techniques can be used to obtain useful information, such as which additional constraints may be added to make the system holonomic. Finally, the triangle Feynman integral considered here has a finite value, but Feynman integrals typically exhibit divergences in the infrared and ultraviolet regions of the loop integration. In dimensional regularization, these divergences are regulated by analytically continuing to generic \(d\in \mathbb {C}\) spacetime dimensions. The divergences are then manifested as poles in the Laurent expansion around \(d=d_0\) for some integer \(d_0\) (typically \(d_0=4\)). The coefficients of this Laurent expansion are solutions to regular holonomic D-ideals in the kinematic variables and, as such, can in principle be treated using the D-module techniques discussed here. It would therefore be important to find a way to set up the expansion around \(d=d_0\) within the D-module approach.

Beyond these specific research questions, we believe that the exchange of methods promoted in this work will be fruitful for both the communities of mathematicians and theoretical physicists. Given the ubiquity of PDEs, we envision these methods will be beneficial for many further applications.