Nikhef-2016-058, TTP16-062 MultivariateResidues: a Mathematica package for computing multivariate residues Kasper J. Larsena,b,∗, Robbert Rietkerkc,d,e aInstitute for Theoretical Physics, ETH Zu¨rich, 8093 Zu¨rich, Switzerland 7 bSchool of Physics and Astronomy, University of Southampton, 1 Highfield, Southampton, SO17 1BJ, United Kingdom 0 cNikhef, Theory Group, Science Park 105, 1098 XG Amsterdam, The Netherlands 2 dInstitute for Theoretical Physics, University of Amsterdam, Science Park 904, n 1098 XH Amsterdam, The Netherlands a eInstitute for Theoretical Particle Physics, KIT, Wolfgang-Gaede-Strasse 1, J 76128 Karlsruhe, Germany 3 2 ] h t - Abstract p e Multivariate residues appear in many different contexts in theoretical physics h [ and algebraic geometry. In theoretical physics, they for example give the proper definition of generalized-unitarity cuts, and they play a central role 2 v in the Grassmannian formulation of the S-matrix by Arkani-Hamed et al. In 0 realistic cases their evaluation can be non-trivial. In this paper we provide a 4 0 Mathematica package for efficient evaluation of multivariate residues based 1 on methods from commutative algebraic geometry. 0 . 1 Keywords: Computational algebraic geometry; Unitarity calculations; 0 Perturbation theory; Computer algebra 7 1 : v PROGRAM SUMMARY i X r Program Title: MultivariateResidues a Licensing provisions: GNU General Public License (GPL) Programming language: Wolfram Mathematica version 7.0 or higher Nature of problem: Evaluation of multivariate complex residues Solution method: Mathematica implementation ∗Corresponding author. E-mail address: [email protected] Email address: [email protected] (Robbert Rietkerk) Preprint submitted to Computer Physics Communications January 24, 2017 1. Introduction Multivariate residues appear in many different contexts in theoretical physics and algebraic geometry. In theoretical physics, they for example give the proper definition of generalized-unitarity cuts [1–6], and they play a central role in the Grassmannian formulation of the S-matrix by Arkani- Hamed et al. [7–15]. In algebraic geometry, multivariate residues play an important role in elimination theory in the context of solving systems of multivariate polynomial equations [16]. In practise, the evaluation of multivariate residues can be non-trivial. Nevertheless, implementations of their evaluation have not been made pub- lically available. In this paper we provide the Mathematica package Multi- variateResidues for efficient evaluation of multivariate residues based on methods from commutative algebraic geometry. This paper is organized as follows. In section 2 we give the definition of the multivariate residue along with some of its basic properties, in particular the transformation formula. We explain an algorithm for how the latter can be utilized to compute multivariate residues in general. In section 3 we explain an alternative approach which makes use of powerful methods from modern commutative algebra. Both of these methods are implemented in MultivariateResidues. In section 4 we apply the formalism of section 3 to a specific example to illustrate how residues are computed in practise. In section5wediscusstheapplicationofmultivariateresiduestothecalculation of generalized-unitarity cuts in the context of computations of scattering amplitudesinperturbativequantumfieldtheory. Section6providesamanual for MultivariateResidues along with benchmarks of the performance, comparisons between the various options and tips for the user to improve performance. In section 7 we give our conclusions. Appendix A provides a topological explanation of why multivariate residues, in contrast to the univariate case, are not uniquely determined by the location of a pole, but have some dependence on the integration cycle. 2. General theory In this section we give the definition of multivariate complex residues and discuss the transformation formula and how this may be utilized to compute residues in practise. 2 Our setup is as follows. Let f(z) = (cid:0)f (z),...,f (z)(cid:1) : Cn → Cn and 1 n h : Cn → C be holomorphic functions, and consider the meromorphic n- form,1 h(z)dz ∧···∧dz 1 n ω = . (1) f (z)···f (z) 1 n The case where the form has m denominator factors with m > n can be treated as a special case of the above by grouping the m factors into pre- cisely n factors. We will elaborate on the ambiguity of this process and its underlying topological explanation further below. Likewise, the case of m < n denominator factors will be discussed below. In the multivariate setting, we define a pole as a point p ∈ Cn where f has an isolated zero—that is, f(p) = 0 and f−1(0)∩U = {p} for a sufficiently small neighborhood U of p. We are interested in computing the residue of ω at its poles. The multivariate residue is defined as a multidimensional generalization of a contour integral: an integral taken over a product of n circles, that is an n-torus, (cid:73) 1 h(z)dz ∧···∧dz 1 n Res (ω) = , (2) {f1,...,fn},p (2πi)n Γ(cid:15) f1(z)···fn(z) where Γ = {z ∈ Cn : |f (z)| = (cid:15) } and the (cid:15) have infinitesimal real values. (cid:15) i i i Furthermore, the integration cycle is oriented by the condition, d(argf )∧···∧d(argf ) ≥ 0. (3) 1 n We note that the definition of the integration cycle differs from the univariate case: rather than being defined directly in terms of the variables z, Γ is (cid:15) defined in terms of the denominator factors f (z). i The Jacobian determinant evaluated at the pole (cid:18) (cid:19)(cid:12) ∂fi (cid:12) J(p) ≡ det (cid:12) , (4) i,j ∂zj (cid:12)z=p playsanimportantrole, sinceifJ(p) (cid:54)= 0, wecanevaluatetheresiduedirectly by the coordinate transformation w = f(z), 1 (cid:73) h(cid:0)f−1(w)(cid:1)dw ∧···∧dw 1 h(p) 1 n Res (ω) = = . (5) (cid:104)f1,...,fn(cid:105),p (2πi)n |wi|≤(cid:15)i J(p)w1···wn (2πi)nJ(p) 1If one adds a boundary at infinity as needed to apply global residue theorems, we can define the functions on CPn rather than Cn. 3 In this case, the residue is termed nondegenerate. In general, however, a residue may be degenerate, such as is the case for higher-order poles. In this situation, the above coordinate transformation does not suffice to compute it. A central and completely general property of residues is the transformation formula (cf. section 5.1 of ref. [17]). As we will shortly see, this property can be utilized to compute any residue, degenerate or nondegenerate. Theorem 1. (Transformation formula). Let I = (cid:104)f (z),...,f (z)(cid:105) be a 1 n zero-dimensional ideal2 generated by a finite set of holomorphic functions f (z) : CPn → C with f (p) = 0. Furthermore, let J = (cid:104)g (z),...,g (z)(cid:105) be a i i 1 n zero-dimensional ideal such that J ⊆ I; that is, whose generators are related to those of I by g (z) = (cid:80)n a (z)f (z) with the a (z) being polynomials. i j=1 ij j ij (cid:0) (cid:1) Letting A(z) = a (z) denote the transformation matrix, the residue ij i,j=1,...,n at p satisfies, (cid:18) (cid:19) (cid:18) (cid:19) h(z)dz ∧···∧dz h(z)detA(z)dz ∧···∧dz 1 n 1 n Res = Res . (cid:104)f1,...,fn(cid:105),p f1(z)···fn(z) (cid:104)g1,...,gn(cid:105),p g1(z)···gn(z) (6) In cases where the form ω has fewer denominator factors than variables, the notion of residue defined in eq. (2) does not apply, and this case is therefore outside the scope of this paper. Nevertheless, we mention that a notion of residue which does apply in this situation is that of residual forms. To illustrate the idea, let us consider the following example, taken from section 7.2 of ref. [7], dz ∧dz ∧dz 1 2 3 ω = . (7) z (z +z z ) 1 1 2 3 As ω has three variables, but only two denominator factors, the residue in eq. (2) is not well-defined. However, we observe that we can define the 2-form dz ∧dz 2 3 ω = Res ω = . (8) (cid:101) z1=0 z2z3 This form has two variables and two denominator factors, and hence the notion of residue in eq. (2) applies to ω. (cid:101) 2The ideal I is said to be zero-dimensional if and only if the solution to the equation system f (z)=···=f (z)=0 consists of a finite number of points z ∈CPn. 1 n 4 2.1. Computation of residues via the transformation formula To apply the transformation formula (6) to the computation of residues, we must first find a useful transformation of the set of ideal generators. Here we restrict attention to the case where the generators f (z) are polynomials i and follow the approach explained in section 1.5.4 of ref. [16]. The idea is to choose the g to be univariate—that is, g (z ,...,z ) = g (z ). Then the i i 1 n i i residue can simply be evaluated as a product of univariate residues. Asetofunivariatepolynomialsg canbeobtainedbygeneratingaGro¨bner i basis of {f (z),...,f (z)} with lexicographic monomial order. Specifying the 1 n variable ordering z (cid:31) z (cid:31) ··· (cid:31) z (cid:31) z (cid:31) z ··· (cid:31) z will produce a i+1 i+2 n 1 2 i Gro¨bner basis whose first element is a polynomial which depends only on z . We let g (z ) denote this polynomial. Now, by considering all n cyclic i i i permutations of the variable ordering z (cid:31) z (cid:31) ··· (cid:31) z in this way we 1 2 n generate a set of n univariate polynomials {g (z ),...,g (z )}. 1 1 n n To illustrate the above method, we consider as an example the following differential form, z dz ∧dz 1 1 2 ω = , (9) z (a z +a z )(b z +b z ) 2 1 1 2 2 1 1 2 2 which at the same time will serve to explain how to compute residues in cases with more distinct denominator factors than variables. As eq. (9) depends on two variables and has three distinct denominator factors, we must consider all possible ways of partitioning the denominator into two factors. Denoting the denominator factors of eq. (9) as follows, ϕ (z ,z ) = z 1 1 2 2 ϕ (z ,z ) = a z +a z (10) 2 1 2 1 1 2 2 ϕ (z ,z ) = b z +b z , 3 1 2 1 1 2 2 we observe that this can be done in three distinct ways, namely {ϕ ,ϕ ϕ }, {ϕ ,ϕ ϕ } and {ϕ ,ϕ ϕ }. (11) 1 2 3 2 3 1 3 1 2 We are interested in computing the residues of ω at the pole p = (0,0) cor- responding to each of these partitionings. We note that all of these residues are degenerate. Let us evaluate the residue for the denominator partitioning {ϕ ,ϕ ϕ }. 1 2 3 The lexicographically-ordered Gro¨bner basis of {ϕ ,ϕ ϕ } in the variable 1 2 3 5 ordering z (cid:31) z is {a b z2,z }; in the variable ordering z (cid:31) z it is 2 1 1 1 1 2 1 2 {z ,a b z2}. Choosing the first element of each Gro¨bner basis we obtain, 2 1 1 1 g (z ,z ) = a b z2 (12) 1 1 2 1 1 1 g (z ,z ) = z . (13) 2 1 2 2 We can obtain the transformation matrix A as a byproduct of finding the Gro¨bner basis (or using the approach implemented in ref. [18]). In the simple case considered here, ordinary multivariate polynomial division produces the same result, (cid:18) (cid:19) −(a b +a b )z −a b z 1 1 2 2 1 1 2 2 2 A = , (14) 1 0 that relates the two sets of ideal generators, (cid:18) (cid:19) (cid:18) (cid:19) ϕ (z ,z ) g (z ,z ) 1 1 2 1 1 2 A· = . (15) ϕ (z ,z )ϕ (z ,z ) g (z ,z ) 2 1 2 3 1 2 2 1 2 From the transformation law (6) we then find that the residue of ω at p = (0,0) with respect to the ideal generators {ϕ ,ϕ ϕ } is 1 2 3 z detA dz ∧dz dz ∧dz 1 1 2 1 2 Res ω = Res = −Res . (16) {ϕ1,ϕ2ϕ3},p p g1(z1,z2)g2(z1,z2) p a1b1z1z2 As desired, the denominator on the right-hand side of eq. (16) is a product of univariate polynomials. Hence the residue can be computed as a product of univariate residues and yields, 1 R ≡ Res ω = − (17) 1 {ϕ1,ϕ2ϕ3},p a1b1(2πi)2 a 2 R ≡ Res ω = − (18) 2 {ϕ2,ϕ3ϕ1},p a1(a1b2 −a2b1)(2πi)2 b 2 R ≡ Res ω = , (19) 3 {ϕ3,ϕ1ϕ2},p b1(a1b2 −a2b1)(2πi)2 where the residues for the two other denominator partitionings {ϕ ,ϕ ϕ } 2 3 1 and {ϕ ,ϕ ϕ } were computed analogously. We remark that in general one 3 1 2 must keep in mind that the residue is antisymmetric under interchanges of thedenominatorfactorsofω. Thisfollowsfromthedependenceoftheresidue on the orientation of the integration cycle, cf. eq. (3). 6 We observe that only two out of the three residues R ,R ,R in eqs. (17)– 1 2 3 (19) are independent, as the residues satisfy the identity, R +R +R = 0. (20) 1 2 3 Identities of this kind are common for multivariate residues. In Appendix A we give a topological explanation of why the multivariate residues in eqs. (17)–(19) are not uniquely determined by the pole p, but rather also depend on the choice of partitionings in eq. (11). 3. Evaluation of residues by use of dual structure of quotient ring The evaluation of residues by use of the transformation formula explained in section 2.1 is completely general. However, in realistic cases the compu- tation of the transformation matrix A can be intensive, and as a result this method is not optimal in all situations. In this section we explain a more efficient method for residue computa- tions, which we have implemented in MultivariateResidues. Our setup is as follows. As in section 2, we restrict ourselves to the case where the denominator factors of ω in eq. (1) are polynomials. We denote these poly- nomials by P (z),...,P (z) and assume that the ideal I = (cid:104)P (z),...,P (z)(cid:105) 1 n 1 n is zero-dimensional; i.e., that the associated variety V = {z ∈ Cn : P (z) = 1 ··· = P (z) = 0} consists of a finite number of points, n V = {p ,...,p }. (21) 1 m This method exploits that the residue map defines a non-degenerate inner product (cid:104)·,·(cid:105) on the quotient ring Q ≡ C[z ,...,z ]/I (22) 1 n of the ring C[z ,...,z ] of all polynomials in the variables z ,...,z with 1 n 1 n coefficients in C modulo the ideal I. As I is zero-dimensional, Q has a finite dimension (cf. section 2.2 of ref. [19]) which we denote by D. By decomposing the numerator of ω in a canonical (linear) basis of the quotientring,andtheconstant1inthedualbasiswrt.(cid:104)·,·(cid:105),theglobal residue m (cid:88) Res ω = Res ω (23) I I,pi i=1 7 can be computed as the dot product of the corresponding coefficient vectors. The corresponding local residue at each pole p can then be computed by i multiplying the integrand by appropriate polynomials which are unity in the vicinity of p and vanish in the vicinity of the remaining poles. i In the following we explain how the canonical and dual (linear) bases are computed and how the above-mentioned polynomials are constructed. 3.1. Computing the canonical basis of the quotient ring Ourfirstaimistodetermineacanonical(linear)basisofthequotientring Q. To this end we compute a Gr¨obner basis G of I and consider the ideal (cid:104)LT(I)(cid:105) generated by the leading term of each element of G. The monomials in the complement of (cid:104)LT(I)(cid:105) then form a basis of Q. (Cf. proposition 1 of section 5.3 of ref. [20].) We can rephrase this statement as the following algorithm. 1. Decide on a monomial order ≺ and compute a Gr¨obner basis G = {g ,...,g } of I wrt. ≺. 1 s 2. Obtain the leading term of each Gro¨bner basis element, h = LT(g ). (24) i i 3. Extract the exponent vectors of the leading terms h = zαi,1···zαi,n (cid:55)−→ (α ,...,α ). (25) i 1 n i,1 i,n 4. The elements of s E = Zn (cid:47) (cid:91)(cid:0)(α ,...,α )+Zn (cid:1) (26) ≥0 i,1 i,n ≥0 i=1 then define exponent vectors of the canonical basis elements. That is, C = (cid:8)zβ1,1···zβ1,n, ..., zβD,1···zβD,n(cid:9) where (β ,...,β ) ∈ E, 1 n 1 n j,1 j,n (27) is the desired canonical basis of the quotient ring Q wrt. ≺. 8 3.2. Computing the dual basis of the quotient ring Our next aim is to determine the dual (wrt. C) basis of Q. This basis can beextractedfromthedeterminantoftheBezoutianmatrixofthepolynomials P (z),...,P (z). Accordingly, we proceed with the following steps. 1 n 1. Compute the Bezoutian matrix of the polynomials P (z),...,P (z), 1 n P (y ,...,y ,z ,...,z )−P (y ,...,y ,z ,...,z ) i 1 j−1 j n i 1 j j+1 n Bez (z,y) = . ij z −y j j (28) The entries of the Bezoutian matrix are elements of the direct product Q⊗Q. 2. Take the determinant of the Bezoutian matrix B(z,y) ≡ det(Bez). (29) 3. Compute the remainder of B(z,y) in Q⊗Q. This is carried out in prac- tise by first performing polynomial division of B(z,y) wrt. the Gro¨bner basis G = {g (z),...,g (z)} where the elements are taken as polynomi- 1 s als in z ,...,z , and then performing polynomial division of the result 1 n wrt. G whose elements are now taken as polynomials in y ,...,y , 1 n B(z,y) = q (z,y)g (z)+···+q (z,y)g (z)+B (z,y), (30) 1 1 s s Q B (z,y) = q (z,y)g (y)+···+q (z,y)g (y)+B (z,y). (31) Q (cid:98)1 1 (cid:98)s s Q⊗Q 4. Label the elements of the canonical basis as C = {c (z),...,c (z)} and 1 D decompose the Bezoutian determinant as, B (z,y) = c (z)d (y)+···+c (z)d (y). (32) Q⊗Q 1 1 D D B has a unique such decomposition, and the dual basis of Q (wrt. Q⊗Q the canonical basis C) can now be read off (cf. section 1.5.4 of ref. [16]), D = {d (z),...,d (z)}, (33) 1 D where the variables were relabeled into z ,...,z . We remark that the 1 n elements d (z) are in general polynomials rather than monomials (in i contrast to the canonical basis elements). 9 3.3. Constructing partition-of-unity polynomials One more ingredient is needed to compute residues at all the poles in the variety V = {p ,...,p } associated with I, namely a set of polynomials 1 m e (z),...,e (z) which are unity in the vicinity of a given pole and vanishing 1 m in the vicinity of the remaining poles. To this end, we construct a linear form (cid:96)(z) = a z + ··· + a z (with 1 1 n n a ∈ C) such that (cid:96)(p ),...,(cid:96)(p ) are all distinct. (In practise, this is done i 1 m in MultivariateResidues by scanning over a set of coefficient vectors (a ,...,a ) with integer entries.) 1 n The following set of Lagrange polynomials m (cid:89) (cid:96)(z −p ) j L (z) = (34) i (cid:96)(p −p ) i j j=1, j(cid:54)=i then have the desired property of “projecting onto each pole”, L (p ) = δ . (35) i k ik However, this set of polynomials will not quite have the desired property of defining a partition of unity, m (cid:88) e = 1 (mod I) and e e = e δ (mod I). (36) i i j i ij i=1 Rather (cf. lemma 2.3 of section 4.2 of ref. [19]), a set of polynomials with these additional properties can be obtained as e (z) = 1−(1−L (z)δ)δ, (37) i i where δ is a positive integer such that for the intersection of the ideals gen- erated by each pole J(cid:104){p }(cid:105) = (cid:104)z −p ,...,z −p (cid:105) i 1 i,1 n i,n m (cid:92) M ≡ (cid:104)z −p ,...,z −p (cid:105), (38) 1 i,1 n i,n i=1 we have that Mδ ⊆ I. (39) 10