Removing apparent singularities of linear difference systems

Removing apparent singularities of linear difference systems

JID:YJSCO AID:1974 /FLA [m1G; v1.261; Prn:21/10/2019; 16:50] P.1 (1-22) Journal of Symbolic Computation ••• (••••) •••–••• Contents lists availabl...

1MB Sizes 0 Downloads 31 Views

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.1 (1-22)

Journal of Symbolic Computation ••• (••••) •••–•••

Contents lists available at ScienceDirect

Journal of Symbolic Computation www.elsevier.com/locate/jsc

Removing apparent singularities of linear difference systems Moulay A. Barkatou a , Maximilian Jaroschek b,1 a b

University of Limoges, CNRS, XLIM UMR 7252, 123, Avenue Albert Thomas, 87060, Limoges, France Technische Universität Wien, Institut für Informationssysteme 184/4, Favoritenstraße 9-11, 1040, Wien, Austria

a r t i c l e

i n f o

Article history: Received 23 November 2018 Accepted 4 July 2019 Available online xxxx Keywords: Systems of linear difference equations Apparent singularities Desingularization Removable singularities

a b s t r a c t It is well known that for a first order system of linear difference equations with rational function coefficients, a solution that is holomorphic in some left half plane can be analytically continued to a meromorphic solution in the whole complex plane. The poles stem from the singularities of the rational function coefficients of the system. Just as for systems of differential equations, not all of these singularities necessarily lead to poles in a solution, as they might be what is called removable. In our work, we show how to detect and remove these singularities and further study the connection between poles of solutions, removable singularities and the extension of numerical sequences at these points. © 2019 Published by Elsevier Ltd.

1. Introduction First order linear difference systems are a class of systems of functional equations of the form

φ(Y ) = AY , where φ is the forward- or backward shift operator and A an invertible matrix with, in our case, rational function coefficients. In Barkatou and Jaroschek (2018), we presented the first algorithm to detect and remove apparent singularities in such systems. The present manuscript is an extension of that work. Singularities of solutions of a given first order difference system correspond to the poles of the defining matrix A of the system. The connection is not clear-cut, however, as there might be poles

1

E-mail addresses: [email protected] (M.A. Barkatou), [email protected] (M. Jaroschek). The author is supported by the Austrian research project FWF P 31427-N31.

https://doi.org/10.1016/j.jsc.2019.10.010 0747-7171/© 2019 Published by Elsevier Ltd.

JID:YJSCO

2

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.2 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

in A at which every solution can be analytically continued. Such singularities are called apparent and the goal of desingularization algorithms is to transform a difference system to an equivalent system whose defining matrix has no apparent singularities. Finding and removing apparent singularities yields valuable information about the solution space of a system of functional equations. Properties that can be derived in this fashion comprise, among others, the asymptotic behaviour (Barkatou and Chen, 1999, 2001; Flajolet and Sedgewick, 2009), positive/negative (semi-) definiteness (Abramov et al., 2006; Zhang, 2016), holomorphicity, closure properties of (a class of) solutions (Kauers and Paule, 2011), and the class of mathematical objects that formal solutions fall into Koutschan and Zhang (2018). In this paper we describe two algorithms to desingularize first order linear difference systems with rational function coefficients. Although formulated for difference systems, the results obtained herein hold for any pseudo-linear operator (Barkatou, 2006; Bronstein and Petkovšek, 1996; Jacobson, 1937), whose associated system of equations can be written in the form

σ (Y ) = A · Y , where σ is the canonical extension of an automorphism on the ring of univariate polynomials over some subfield of C to rational functions. In particular, Algorithms 1 and 2 can be used to desingularize systems of q-difference equations (see also Koutschan and Zhang, 2018). Our main tool in the treatment of such systems are polynomial basis transformations. We show how to achieve desingularization by composing several basic and easy to compute transformations, and our procedure results in the provably “smallest possible” such desingularizing transformation in the sense that any other desingularizing transformation can be obtained as a right multiple. The main contributions of this paper are: (1) The first algorithms to desingularize—partially, or, if possible, completely—first order linear difference systems with rational function coefficients. (2) A non-trivial necessary and sufficient condition for a given system to be desingularizable at a given singularity. (3) With the help of (2), an analysis of the connection between removable and apparent singularities of difference systems and their meromorphic function solutions. (4) An algorithm for reducing the rank of the leading matrix at a singularity of a linear difference system. (5) An analysis of how numerical sequences can be uniquely extended beyond removable singularities, similar to known results in the scalar case (Abramov and van Hoeij, 1999). In the context of single linear (q-)difference equations (Abramov et al., 2006; Abramov and van Hoeij, 1999; Koutschan and Zhang, 2018), linear differential equations (Tsai, 2000) and, more general, Ore operators (Chen et al., 2013, 2016; Jaroschek, 2013b; Zhang, 2016), desingularization and the effects of removable singularities have been extensively studied in recent years. For first order differential equations, a first algorithm for desingularization was given in Barkatou and Maddah (2015). It is possible to convert any first order linear difference system to a scalar difference operator of higher order and vice versa (Barkatou, 1989; Barkatou and Chen, 1999, 2001; Birkhoff, 1930). Desingularization of systems could therefore be done by computing for a given system the corresponding scalar operator, use existing techniques to desingularize the operator and then constructing the desingularized system from the new operator. While this is possible, the procedure comes with at least two caveats: (1) It can be observed that the coefficients grow very large in the conversion process which has severe negative impact on the computation time. (2) Desingularization on operator level is done by finding a suitable left-multiple of the given operator. In general, this leads to an increase in order, and thus to an increase in the dimension of the solution space.

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.3 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

3

Both problems are avoided when dealing directly with systems instead of operators, making the results presented in this paper an essential tool for analyzing difference systems. As we present an extension of the original article, Sections 2, 3, and 4 remain largely unaltered. In Section 2 we remind the reader of the formal definition of linear difference systems with rational function coefficients, well known results about meromorphic function solutions and the notion of apparent singularities. In Section 3, we present an algorithm to remove poles of difference systems and give a necessary and sufficient condition for a singularity to be removable. The connection between removable poles and apparent singularities is established in Section 4. New to this version is Section 5 where we describe how numerical sequences can be extended beyond removable singularities via desingularization. Additionally, we give a brief demonstration of our implementation of our algorithm in Section 6 before concluding the paper in Section 7. 2. Difference systems and removable singularities Let C be a subfield of the field C of complex numbers, not necessarily algebraically closed, C ( z) the field of rational functions over C and φ the C -automorphism of C ( z) defined by φ( z) = z + 1. A homogeneous system of first-order linear difference equations with rational function coefficients is a system of the form

φ(Y ) = A · Y ,

(1)

where Y is an unknown d-dimensional column vector, φ(Y ) is defined component-wise, and A is an element of GLd (C ( z)), the group of invertible matrices of size d × d with entries in C ( z). We denote the set of matrices of size d × d with entries in C [ z] as Matd (C [ z]). A (block) diagonal matrix with entries (respectively blocks) a1 , . . . , ad is denoted by diag(a1 , . . . , ad ). We will refer to system (1) as [ A ]φ . Given a matrix T ∈ GLd (C ( z)), we can apply a basis transformation

Y = T · X, and substitute T · X into system (1) to arrive at an equivalent system

φ( X ) = T [ A ]φ · X , where T [ A ]φ is defined as

T [ A ]φ := φ( T −1 ) · A · T . A difference system [ A ]φ can be rewritten as

φ −1 ( Y ) = A ∗ · Y ,

(2)

where A ∗ := φ −1 ( A −1 ). We will refer to system (2) as [ A ∗ ]φ −1 . A transformation Y = T · X yields the equivalent system

φ −1 ( X ) = T [ A ∗ ]φ −1 · X , with

T [ A ∗ ]φ −1 := φ −1 ( T −1 ) · A ∗ · T . The set of meromorphic solutions of [ A ]φ form a vector space of dimension d over the field of 1-periodic meromorphic functions. It is well known (Praagman, 1986) that any difference system [ A ]φ possesses a fundamental matrix of meromorphic solutions. If F is a holomorphic solution of (1) in some left half plane (Re z < λ for some λ ∈ R), then it can be analytically continued to a meromorphic solution in the whole complex plane C using the relations:

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.4 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

4

F ( z) = φ −1 ( A ) · φ −2 ( A ) · · · φ −n ( A ) · φ −n ( F )( z)

= A ( z − 1) · A ( z − 2) · · · A ( z − n) · F ( z − n), which are valid everywhere except at the points of the form ζ + n where ζ is a pole of A and n is a positive integer (n = 1, 2, . . . ). If F is a holomorphic solution of (1) in some right half plane (Re z > λ), then it can be analytically continued to a meromorphic solution in the whole complex plane C using the relations:

F ( z) = φ( A ∗ ) · φ 2 ( A ∗ ) · · · φ n ( A ∗ ) · φ n F ( z)

= A ∗ ( z + 1) · A ∗ ( z + 2) · · · A ∗ ( z + n) · F ( z + n), which are valid everywhere except at the points of the form ζ − n where ζ is a pole of A ∗ and n is a positive integer (n = 1, 2, . . . ). We will denote by Pr ( A ) (respectively Pl ( A )) the set of poles of A (respectively A ∗ ). The elements of Pr ( A ) (respectively Pl ( A )) will be called the r- (respectively l-) singularities of the system (1). A point ζ ∈ C is said to be congruent to a given r- (respectively l-) singularity ζ0 of [ A ]φ if ζ = ζ0 + k (respectively ζ = ζ0 − k) for some positive integer k. The finite singularities of the solutions of [ A ]φ are among the points that are congruent to the singularities of the system. Definition 2.1. Let ζ be a pole of A (respectively pole of A ∗ ). It is called (1) a removable r- (respectively l-) singularity if any solution of [ A ]φ which is holomorphic in some left (respectively right) half-plane can be analytically continued to a meromorphic solution which is holomorphic at ζ + 1 (respectively ζ − 1). (2) an apparent r- (respectively l-) singularity if any solution of [ A ]φ which is holomorphic in some left (respectively right) half-plane can be analytically continued to a meromorphic solution which is holomorphic at each point of ζ + N \ {0} (respectively ζ − N \ {0}). Example 2.2. A 2 × 2 system of linear difference equations is given by



Y ( z + 1) = A · Y =





0

1

−2 ( z +1 ) z −2

3 ( z −1 ) z −2

Y ( z),



A =

3 ( z −2 ) 2z

3− z 2z

1

0

 .

Here Pr ( A ) = {2} and the points that are congruent to ζ = 2 are 3, 4, 5, . . . . We have Pl ( A ) = {0} and the corresponding congruent points are −1, −2, −3, . . . . As we will see later, both z = 2 and z = 0 are apparent singularities in A and A ∗ respectively, and it can be easily verified that a fundamental matrix of solutions of this system is given by



F ( z) =

2z

z3 + 5z + 6

2 z +1

z3 + 3z2 + 8z + 12



.

We focus on studying r-singularities. l-singularities can be removed in the same way by considering A ∗ and φ −1 instead of A and φ . We give an algebraic characterization of removable singularities. Let q ∈ C [ z] be an irreducible polynomial. For f ∈ C ( z) \ {0}, we define ordq ( f ) to be the integer n such that f = qn ba , with a, b ∈ C [ z] \ {0}, q  a and q  b. We put ordq (0) = +∞. Let Oq = { f ∈ C (z) : ordq ( f ) ≥ 0} be the local ring at q and Oq /qOq the residue field of C ( z) at q. Let πq denote the canonical homomorphism from C [ z] onto C [ z]/q. It can be extended to a ring-homomorphism from Oq onto C [ z]/q as follows: let f ∈ Oq ; by definition of Oq , f can be written f = a/b where a, b ∈ C [ z] and q  b. We can find u , v ∈ C [ z] such that ub + vq = 1, the value of f at q, denoted by πq ( f ), is then defined as πq (ua). Sometimes we write f mod q for πq ( f ). It is clear that πq is well-defined on Oq and is a surjective ring-homomorphism. The kernel of πq is qOq , so Oq /qOq and C [ z]/q are isomorphic.

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.5 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

5

If A = (ai , j ) is a finite-dimensional matrix with entries in C ( z), we define the order at q of A by ordq ( A ) := mini , j (ordq (ai , j )). We say that A has a pole at q if ordq ( A ) < 0. We define the leading matrix of A at q (notation lcq ( A )) as the leading coefficient A 0,q in the q-adic expansion of A:

A = qordq ( A ) ( A 0,q + q A 1,q + q2 A 2,q + . . . ). Here the coefficients A i ,q are matrices with entries in the field C [ z]/q. Note that the matrix A 0,q is the value of the matrix q−ordq ( A ) A at q, i.e. the result of applying πq component-wise to each entry of q−ordq ( A ) A. Example 2.3. With A as in Example 2.2 and q = z − 2, we get that

ordq ( A ) = min(ordq (0), ordq (1), ordq (

−2( z + 1) 3( z − 1) ), ordq ( )) z−2 z−2

= min(∞, 0, −1, −1) = −1, and Oq /qOq ∼ = K[ z]/z − 2 ∼ = K. The q-adic expansion of A is given as



−1

A = ( z − 2)

0

0

−6 3





+ ( z − 2) ·

0

1

−2 3



.

For a rational function r = p /q with p monic and gcd( p , q) = 1, we write num(r ) := p and den(r ) := q. Similarly, for a matrix M ∈ Matd (C ( z)) we denote by den( M ) the common denominator of all the entries of M and denote by num( M ) the polynomial matrix num( M ) := den( M ) · M. Definition 2.4. Let A ∈ GLd (C ( z)) and q ∈ C [ z] be an irreducible polynomial. We say that q is a φ -minimal pole of A if q | den( A ) and for all j ∈ N ∗ , φ j (q)  den( A ). We can now give an algebraic definition of desingularizability of difference systems in an inductive fashion. Definition 2.5. Let A ∈ GLd (C ( z)) and let q ∈ C [ z] be an irreducible pole of A. (1) If q is φ -minimal, we say that the system [ A ]φ is partially desingularizable at q if there exists a polynomial transformation T ∈ GLd (C ( z)) ∩ Matd (C [ z]) such that ordq ( T [ A ]φ ) > ordq ( A ) and ord p ( T [ A ]φ ) ≥ ord p ( A ) for any other irreducible polynomial p ∈ C [ z]. In this case we say that T [ A ]φ is partially desingularized at q. If moreover, ordq ( T [ A ]φ ) ≥ 0 then we say that [ A ]φ is desingularizable at q, we call T a desingularizing transformation for [ A ]φ at q, and say that T [ A ] is desingularized at q. (2) If q is not φ -minimal, then we call [ A ]φ (partially) desingularizable at q if there exists a desingularizing transformation T for all poles of A of the form φ k (q), k ≥ 1, and T [ A ]φ is either (partially) desingularized at q or (partially) desingularizable at q. While it is immediate that, for a φ -minimal pole q, the algebraic notion of desingularization implies that the roots of q are removable in the sense of Definition 2.1, the converse is not obvious and is proven later in Section 4. Consequently, the roots of q are apparent singularities if (and only if) the system A is desingularizable at all poles of A of the form φ −k (q), k ≥ 0. In practice, in order to desingularize a system at a non-φ -minimal pole q, one first removes the φ -minimal pole congruent to q. The resulting system then has a new φ -minimal pole ‘closer’ to q. One can repeat this process until q itself is φ -minimal and eventually removed. A desingularizing transformation for q is then given by the product of all the transformations obtained during this process. Let us illustrate in the next example why we require removing all singularities left of a given pole, thus making it φ -minimal, before considering it eligible for desingularization.

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.6 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

6

Example 2.6. The system [ A ]φ given by

 A = diag

( z + 1)2 z

,

1 z+1

 ,

1 can be transformed via T = diag( z, 1) to T [ A ]φ = diag( z + 1, z+ ). The transformed system still does 1 not facilitate analytic continuation at 0 of solutions that are holomorphic in the left half-plane with Re( z) < 0.

3. Removing r-singularities 3.1. φ -minimal desingularization We begin our discussion of removing r-singularities by deriving a method for shifting a factor in the denominator of a given system in a way that allows, if possible, cancellation with zeroes of the system. For this we bring the leading matrix of A into a specific form. Lemma 3.1. Let A be a d × d matrix with entries in C ( z) and let q ∈ C [ z] be an irreducible pole of A. Set n := −ordq ( A ) and r := rank(lcq ( A )), the rank of the leading matrix of A at q. There exists a unimodular polynomial transformation S such that S [ A ]φ is of the form



1 qn

A1

1 q n −1



A2, ,

(3)

where A 1 , A 2 are matrices with entries in Oq of size d × r and d × d − r respectively with rank( A 1 ) = r. Proof. The leading matrix lcq ( A ) of A at q is a matrix with entries in the residue field C [ z]/q. There exists a non-singular matrix Q with entries in C [ z]/q such that lcq ( A ) · Q is in a column-reduced form, i.e. the last d − r columns of lcq ( A ) · Q are zero, and Q is of the form Q = C · ( I d + U ), where C is a non-singular constant matrix, I d the identity matrix of dimension d × d, and U is a strictly upper triangular matrix. Taking S = Q as a matrix in Matd (C [ z]) will result in S [ A ]φ as desired, since

S [ A ]φ = φ( S )−1 · A · S = φ( S )−1 · q−n ( A 0,q + q A 1,q + . . . ) · Q

= φ( S )−1 · q−n ( A 0,q Q + q A 1,q Q + . . . ), where the last d − s columns of A 0,q Q = lcq ( A ) Q are zero and are therefore not affected by the multiplication by φ( S )−1 on the right. 2 Example 3.2 (Example 2.2 continued). If we set q = z − 2, then the leading matrix of the system in Example 2.2 at q is

 lcq ( A ) = (q A ) mod q =

0

0

−6 3

 .

A suitable transformation to bring this matrix into a column-reduced form is

 S=

1

1 2

0

1

 .

Applying S to A gives

 S [ A ]φ =

z +1 z −2 −2z−2 z −2

0 2

 .

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.7 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

7

Lemma 3.3. Let A ∈ GLd (C ( z)) and q ∈ C [ z] be a φ -minimal pole of A. Suppose that A is of the form (3) and let r = rank(lcq ( A )). If [ A ]φ is partially desingularizable at q then any desingularizing transformation T for [ A ]φ can be written as

T = D · T˜ , where

D = diag(q, . . . , q, 1, . . . , 1),

  r times

d−r times

and

T˜ ∈ GLd (C ( z)) ∩ Matd (C [ z]). Proof. Let n = −ordq ( A ). Suppose we are given a desingularizing transformation T ∈ GLd (C ( z)) and let B = T [ A ]φ . Then we have that φ( T ) · B = A · T and hence

φ( T ) · (qn B ) = (qn A ) · T . Since ordq (qn B ) > 0 and the orders at q of the other matrices involved in the equality are nonnegative, we get

πq (qn A ) · πq ( T ) = 0. By assumption, the matrix



πq (qn A ) is of the form

πq (qn A ) = A 1 0 , where A 1 is a d × r matrix with linearly independent columns. Thus, the first r rows of be zero, i.e. the first r rows of T have to be divisible by q. This yields the claim. 2

πq ( T ) must

Remark 3.4. Note that the determinant of any desingularizing transformation T of A at q, not necessarily φ -minimal, is divisible by q; in fact qr | det( T ). It then follows that φ(q) divides det(φ( T )); in fact φ(q)r | det(φ( T )). Lemma 3.5. Let A ∈ GLd (C ( z)) and let q ∈ C [ z] with q | den( A ) be an irreducible pole. If [ A ]φ is (partially) desingularizable at q then there exists a maximal positive integer  such that φ  (q) | num(det( A )). Proof. First, suppose q is φ -minimal. There are only finitely many factors of num(det( A )) of positive degree because A is non-singular. Thus it suffices to show that there exists a positive integer 0 such that φ 0 (q) | num(det( A )). Let T be a desingularizing transformation for A at q. Put B := T [ A ]φ . Then, due to the desingularization property, we have that

φ( T )−1 · num( A ) · T =

den( A ) den( B )

· num( B ) ∈ Matd (C [z]).

Hence

det(num( A )) · det( T )

φ(t )

∈ C [z].

Let 0 be the largest integer such that φ 0 (q) | φ(t ). By Remark 3.4, 0 is strictly positive. Since φ 0 (q)  t, it follows that φ 0 (q) | det(num( A )). Now from the relation det(num( A )) = den( A )d · det( A ) and since we assumed that den( A ) has no factor of the form φ j (q) with j ∈ N ∗ we can conclude that φ 0 (q) | num(det( A )). To see that the theorem holds for non-φ -minimal poles, let q˜ be a non-φ -minimal pole congruent to q, i.e. there exists a positive integer k such that φ k (˜q) = q. Then we get that φ k+0 (˜q) = φ 0 (q) | num(det( A )). 2

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.8 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

8

Definition 3.6. Let A ∈ GLd (C ( z)) and q ∈ C [ z] be an irreducible pole of A. We define the φ -dispersion of A at q as:

φ -dispersion( A , q) = max { ∈ N ∗ s.t. φ  (q) | num(det( A ))}. When the latter set is empty we put φ -dispersion( A , q) = 0. By Lemma 3.5, a necessary condition that [ A ]φ can be (partially) desingularized at q is that

φ -dispersion( A , q) > 0. Example 3.7 (Example 3.2 continued). The determinant of S [ A ]φ in Example 3.2 is φ -dispersion of S [ A ]φ at q = z − 2 is equal to 3.

2( z+1) . z−2

Therefore the

We will now describe an algorithm for desingularizing a given system [ A ]φ at a φ -minimal pole q. By repeatedly applying the algorithm to [ A ]φ , it is then possible to desingularize the system at all removable singularities. It is sufficient to treat the case where q is a single and simple pole of A (i.e. q A has polynomial entries). This is stated in the following lemma. Lemma 3.8. Let A ∈ GLd (C ( z)) and let q ∈ C [ z] be a φ -minimal pole of A. Set h :=

den( A ) q

so that the matrix

h A = q−1 · num( A ) has a single and simple pole at q. Then the system [ A ]φ is (partially) desingularizable at q

if and only if the system [h A ]φ is desingularizable at q. More precisely, a polynomial matrix T ∈ GLd (C ( z)) is a desingularizing transformation for [h A ]φ at q if and only if T (partially) desingularizes [ A ]φ at q. Proof. It is a direct consequence of the following (trivial but interesting) property: for all T ∈ GLd (C ( z)) and h ∈ C [ z] \ {0}, one has T [(h A )]φ = h · ( T [ A ]φ ). 2 Remark 3.9. With the notation of the above lemma, the φ -dispersion of [h A ]φ at q is greater than or equal to the φ -dispersion of [ A ]φ at q, and equality holds if q is φ -minimal. It follows from the fact that det(h A ) = hd · det( A ).

Lemma 3.10. Let A ∈ GLd (C ( z)). Suppose that A has a single, simple, irreducible pole at q. If [ A ]φ is desingularizable at q with φ -dispersion , then there exist a unimodular polynomial matrix S and a diagonal polynomial matrix D such that ( S · D )[ A ]φ is either desingularized (with respect to q) or desingularizable at φ(q) with φ -dispersion  − 1. Proof. We first take S as in Lemma 3.1 so that S [ A ]φ has the form

⎛ S [ A ]φ = ⎝

˜ 1,1 A q

˜ 1,2 A

˜ 2,1 A q

˜ 2,2 A

⎞ ⎠,

˜ i , j are blocks with polynomial entries, the diagonal blocks are of size r = rank(lcq ( A )) where the A and d − r respectively. Take D = diag(qI r , I d−r ) as in Lemma 3.3. Then the matrix B := ( S · D )[ A ]φ has the form



B =⎝

˜ 1,1 A φ(q)

˜ 1,2 A φ(q)

˜ 2,1 A

˜ 2,2 A



⎠.

The resulting system [ B ]φ has at worst a simple and single pole at φ(q) with φ -dispersion  − 1.

2

Example 3.11 (Example 3.7 continued). The rank of the leading matrix in Example 3.2 is 1. We apply the transformation

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.9 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

 D1 =

z−2

0

0

1

9

 ,

to S [ A ]φ of Example 3.7 and arrive at the system



( S · D 1 )[ A ]φ =

z +1 z −1

0

−2z − 2



2

The determinant of ( S · D 1 )[ A ]φ is

.

2( z+1) . z−1

The new φ -dispersion is 2.

Theorem 3.12. Let A be desingularizable at a single, simple, irreducible pole q. Then there exists an integer n, unimodular polynomial matrices S 1 , . . . , S n and diagonal polynomial matrices D 1 , . . . , D n such that

T = S 1 · D 1 · · · Sn · Dn, is a desingularizing transformation for A at q. Furthermore, any other desingularizing transformation T for A at q can be written as

T = T · T˜ ,

(4)

with T˜ ∈ GLd (C ( z)) ∩ Matd (C [ z]). Proof. By Lemma 3.5, a desingularizable system [ A ]φ has strictly positive φ -dispersion . Applying the transformation S · D as in Lemma 3.10 gives a system equivalent to [ A ]φ having at worst a pole at φ(q) (instead of q) but with reduced φ -dispersion. After at most  such transformations, the resulting matrix T [ A ]φ has to be desingularized at q. This shows that T can be chosen as in the statement of the theorem. To see that any other desingularizing transformation T of [ A ]φ at q can be written as in (4), we first note that since S 1 is unimodular, for any such T we have

T = S 1 · ( S 1−1 · T ),







=: T

∈GLd (C ( z))∩Matd (C [ z])

and therefore we can assume that A is of the form (3). Then, as was shown in Lemma 3.3, we can write

T

= D 1 · T˜ , with T˜ ∈ GLd (C ( z)) ∩ Matd (C [ z])). Again, we can repeat this reasoning n times until we arrive at the desired form. 2 Example 3.13 (Example 3.11 continued). The leading matrix of ( S · D 1 )[ A ]φ as in Example 3.11 at φ(q) = z − 1 is already in column-reduced form and of rank 1. We apply the transformation D 2 = diag( z − 1, 1), and get



( S · D 1 · D 2 )[ A ]φ =

z +1 z 2

0

−2z + 2



2

.

Again, the leading matrix of this system at φ 2 (q) = z is column-reduced and of rank 1. Finally, after applying the transformation D 3 = diag( z, 1), we get the desingularized system



( S · D 1 · D 2 · D 3 )[ A ]φ =

1

0

−2z3 + 2z

2



.

Collecting all the transformations, we see that a desingularizing transformation for A at q = z − 2 is given by

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.10 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

10

 T = S · D1 · D2 · D3 =

z3 − 3z2 + 2z

1 2

0

1

 .

As was already shown in Lemma 3.5, a positive φ -dispersion is a necessary condition for a removable singularity. For a given system [ A ]φ and an irreducible polynomial q, the φ -dispersion can be obtained by computing the largest integer root of the resultant r (k) := resz (q( z + k), num(det( A ))), where k is a new variable. This resultant is a univariate polynomial in k, and as the resultant of two polynomials is zero if and only if they have a non-trivial common divisor, num(det( A )) is divisible by q( z + ) for any integer root  of r. This, together with Theorem 3.12 and its proof gives rise to Algorithm 1. Algorithm 1: desingularize_A( A , q). Input:

A with entries in C ( z) and a single, simple, irreducible pole q ∈ C [ z].

Output:

( T , T [ A ]φ ) such that T [ A ]φ is desingularized at q, or ( I d , A ) if desingularization is not possible.

1 2 2.1 2.2 2.3 2.4 2.5 2.6 3 4

T ← Id WHILE (φ -dispersion( A , q) > 0 AND den( A ) = 0 mod q) DO A 0 ← lcq ( A ) S ← as in the proof of Lemma 3.1. D ← diag(q, . . . , q, 1, . . . , 1) with rank( A 0 ) many elements equal to q. A ← φ( S · D )−1 · A · ( S · D ) T ←T ·S·D q ← φ(q) IF (den( A ) = 0 mod q) RETURN ( I d , A ) ELSE RETURN (T , A)

3.2. Characterization of desingularizable poles We can give a necessary and sufficient condition for a pole to be desingularizable. It can be seen as the shift analogue of the nilpotency of the leading matrix at the considered pole of the system, which is a necessary condition for an apparent singularity in the differential setting (Barkatou and Maddah, 2015).

˜ = qn A, so that ordq ( A˜ ) = 0 and Proposition 3.14. Let q ∈ C [ z] be a φ -minimal pole of the system [ A ]φ . Let A

πq ( A˜ ) = lcq ( A ). If A is (partially) desingularizable at q then there exists a positive integer k such that

πq ( A˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ )) = 0.

(5)

Proof. Let T be a desingularizing transformation for [ A ]φ at q and B = T [ A ]φ . Then for all nonnegative integers k one has

φ( T ) · B · φ −1 ( B ) · · · φ −k ( B ) = A · φ −1 ( A ) · · · φ −k ( A ) · φ −k ( T ), and hence

φ( T ) · (qn B ) · φ −1 (qn B ) · · · φ −k (qn B ) = A˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ ) · φ −k ( T ). As ordq (qn B ) > 0 and

ordq (φ − j (qn B )) = ordφ j (q) ( B ) ≥ ordφ j (q) ( A ) ≥ 0, for all j ∈ N ∗ , we get that

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.11 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

11

πq ( A˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ ) · φ −k ( T )) = 0. πq (φ −k ( T )) is invertible. 2

Now we conclude by remarking that for k large enough

We will now show that the factorial relation (5) is a sufficient condition for a matrix A to be partially desingularizable at q.

˜ = qn A, so that ordq ( A˜ ) = 0 and πq ( A˜ ) = Proposition 3.15. Let q ∈ C [ z] be a φ -minimal pole of [ A ]φ . Let A lcq ( A ). If [ A ]φ is such that the factorial relation (5) holds for some integer k ≥ 1 then [ A ]φ is (partially) desingularizable at q. Proof. Let k be minimal so that (5) holds. Put

˜ · φ −1 ( A˜ ) · · · φ −k+1 ( A˜ )), M := πq ( A and

˜ )). N := πq (φ −k ( A By definition of k, the matrix M is nonzero and we have M · N = 0. With d := dim( A ) it follows that

0 < rank( M ) ≤ s := d − rank( N ) ≤ d. Let P ∈ GLd (C [ z]/q) such that P · N has its last (d − s) rows linearly independent over C [ z]/q while its s first rows are zero. Consider the matrix : U = φ k−1 ( P −1 ) as an element of Matd (C [ z]), then by applying the unimodular transformation Y = U · X , we can assume that the matrix N has the form



N=

0s,s

0s,d−s

N 2,1

N 2,2



,

where 0i , j denotes the zero matrix with i rows and j columns, and N 2,1 and N 2,2 are matrices with entries in C [ z]/q of size (d − s) × s and (d − s) × (d − s) respectively, so that the last d − s rows of N are linearly independent over C [ z]/q. As M · N = 0 we have that the d − s last columns of M ˜ = ( A˜ i , j )1≤i , j≤2 be partitioned in four blocks as N. Then πq (φ −k ( A˜ 1, j )) = 0 for j = 1, 2. are zero. Let A ˜ are divisible by φ k (q). Using the substitution Y = D · X where In other words, the s first rows of A D = diag(φ k−1 (q) · I s , I d−s ), we get a new system which still has a pole at q of multiplicity at most n. Indeed, we have



B := φ( D )−1 · A ·

φk−1 (q) A˜ 1,1 −n ⎝ φk (q) D =q k −1 φ (q) A˜ 2,1

 = q−n

φ (q) A˜ 1,1 φ k−1 (q) A˜ 2,1 k −1

˜ 1,2 A φk (q)

˜ 2,2 A

⎞ ⎠

A˜ 1,2

˜ 2,2 A

(6)

 ,

for some matrices A˜ 1,1 , A˜ 1,2 with entries in Oq . It is clear that den( B ) | den( A ) and that ordq ( B ) ≥ ordq ( A ). Now we will prove that the factorial relation (5) holds for B˜ := qn B with k − 1 instead of k. For this we remark first that

φ( D ) · B˜ · φ −1 ( B˜ ) · · · φ −k+1 ( B˜ ) = A˜ · φ −1 ( A˜ ) · · · φ −k+1 ( A˜ ) · φ −k+1 ( D ). It then follows that

πq (φ( D )) · πq ( B˜ · φ −1 ( B˜ ) · · · φ −k+1 ( B˜ )) = M · πq (φ −k+1 ( D )).

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.12 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

12

We have that

πq (φ −k+1 ( D )) = πq (diag(qI s , I d−s )) = diag(0s,s , I d−s ), hence M · πq (φ −k+1 ( D )) = 0 (since the d − s last columns of M are zero). Now πq (φ( D )) = πq (diag(φ k (q) · I s , I d−s )) is invertible (since q and φ k (q) are co-prime), it then follows that

πq ( B˜ · φ −1 ( B˜ ) · · · φ −k+1 ( B˜ )) = 0. If k − 1 is still positive then we can repeat this process for the matrix B and the polynomial q until we arrive at k = 1. When k = 1 the above factorial relation reduces to πq ( B˜ ) = 0 which means that ordq ( B˜ ) > 0 and therefore ordq ( B ) ≥ −n + 1. 2 This proof motivates the following alternative desingularization algorithm. In contrast to Algorithm 1, instead of shifting a singularity towards a zero of the system, Algorithm 2 performs the analogous task of moving a zero towards the singularity until they cancel each other

Algorithm 2: desingularize_B( A , q). Input:

A with entries in C ( z) and a single, simple, irreducible pole q ∈ C [ z].

Output:

( T , T [ A ]φ ) s.t. T [ A ]φ is desingularized at q.

1 T ← Id 2 WHILE (den( A ) = 0 mod q) DO 2.1  ← φ -dispersion( A , q) 2.2 IF ( ≤ 0) THEN RETURN (T , A) ˜ ← qn A 2.3 n ← ordq ( A ); A ˜) 2.4 k ← 0; M ← I d ; N ← πq ( A 2.5 WHILE (M · N = 0 AND k ≤ ) DO ˜ )) 2.5.1 M ← M · N; k ← k + 1; N ← πq (φ −k ( A 2.6 U ← as in the proof of Proposition 3.15. 2.7 D ← diag(φ k−1 (q) · I s , I d−s ) with s = d − rank( N ). 2.8 A ← φ(U · D )−1 · A · (U · D ) 2.9 T ←T ·U ·D 3 RETURN (T , A) Remark 3.16. All systems that are desingularizable via Algorithm 1 are also desingularizable via Algorithm 2 and vice versa. Example 3.17. For A as in Example 2.2 and q = z − 2 we have



˜ = ( z − 2) A = A



z−2

0

−2( z + 1) 3( z − 1)

,

˜ ( z) · A˜ ( z − 1) · A˜ ( z − 2)) = A˜ (2) · A˜ (1) · A˜ (0) = M = πq ( A  N = πq (φ

−3

( A˜ ) = A˜ (−1) =

0 −3 0 −6





0

0,

−12

6



= 0

,

πq ( A˜ (z) · A˜ (z − 1) · A˜ (z − 2) · A˜ (z − 3)) = A˜ (2) · A˜ (1) · A˜ (0) · A˜ (−1) = 0, so k = 3. If we chose

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.13 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

 U=

1 2

1 2

0

1

 ,

then −1

φ(U )

· A·U =U

−1

· A·U =



1

( z − 2)

( z + 1)

0

−( z + 1) 2( z − 2)

 .

We have s = 1, so with D = diag(φ 2 (q), 1) = diag( z, 1) we get −1

B = φ( D )

13

−1

· (φ(U )

· A · U) · D =



1

( z − 2)

z

0

− z ( z + 1) 2( z − 2)

 .

Note that, as expected, we have that

B˜ (2) · B˜ (1) · B˜ (0) = 0. Here we can repeat the above process on B to desingularize as much as possible the matrix A at q = z − 2. In this particular example q is removable by the transformation T = U · diag( z( z − 1)( z − 2), 1). Indeed, one can see that



−1

T [ A ]φ = φ( T )

·A·T =

1

0

− z ( z 2 − 1) 2



,

has polynomial entries. The transformation T is the same as in Example 3.13 up to a right factor diag( 12 , 1). 3.3. Rank reduction Consider a system [ A ]φ and let q be a φ−minimal factor of den( A ) with multiplicity n ≥ 1, such that [ A ]φ is not partially desingularizable at q. This implies that there’s no positive integer k such that relation (5) holds. As the quantity n cannot be reduced, it’s natural to ask if it is possible to reduce the rank of the leading matrix lcq ( A ) by applying a polynomial transformation T to [ A ]φ . We shall give a criterion for the existence of a polynomial transformation T such that

ordq ( T [ A ]φ ) = ordq ( A ), and

rank(lcq ( T [ A ]φ )) < rank(lcq ( A )).

˜ = qn A, so that ordq ( A˜ ) = 0 and πq ( A˜ ) = Proposition 3.18. Let q ∈ C [ z] be a φ -minimal pole of [ A ]φ . Let A lcq ( A ). Then a necessary and sufficient condition for the existence of a polynomial transformation T with ordq ( T [ A ]) = ordq ( A ) and rank(lcq ( T [ A ])) < rank(lcq ( A )) is that there exists a positive integer k such that

˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ ))) < rank(lcq ( A )). rank(lcq ( A

(7)

Proof. Necessary condition: Suppose first that there exists a polynomial matrix T with the desired properties and let B = T [ A ]φ . Similarly to the proof of Proposition 3.14, one gets for all non-negative integers k:

φ( T ) · (qn B ) · φ −1 (qn B ) · · · φ −k (qn B ) = A˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ ) · φ −k ( T ). ˜ ) and all the other factors in both sides of this equality have nonSince ordq (qn B ) = 0 = ordq ( A negative orders at q we get that

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.14 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

14

πq (φ( T )) · πq (qn B ) · πq (φ −1 (qn B ) · · · φ −k (qn B )) = πq ( A˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ )) · πq (φ −k ( T )). By using the fact that the rank of a product of matrices is less or equal to the rank of each factor we get that the rank of the product in the right hand side of the previous equality is bounded by rank(πq ((qn B ))) = rank(lcq ( B )) and hence

˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ )) · πq (φ −k ( T ))) ≤ rank(lcq ( B )) < rank(lcq ( A )). rank(πq ( A Now let k be the smallest positive integer such that the matrix

πq (φ −k ( T )) is of full rank. Then

˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ ))) rank(πq ( A = rank(πq ( A˜ · φ −1 ( A˜ ) · · · φ −k ( A˜ )) · πq (φ −k ( T ))) < rank(lcq ( A )). Sufficient condition: Let r = rank(lcq ( A )) and let k be minimal so that (7) holds. Put

˜ · φ −1 ( A˜ ) · · · φ −k+1 ( A˜ )) M := πq ( A

and

˜ )). N := πq (φ −k ( A

By definition of k, the matrix M is nonzero, has the same rank r as lcq ( A ) and we have the strict inequality

rank( M · N ) < r = rank( M ). This implies in particular that rank( N ) < d = dim( A ). Let s := d − rank( N ). As in the proof of Proposition 3.15, we can assume that N has the following form:



N=

0s,s

0s,d−s

N 2,1

N 2,2



,

where N 2,1 and N 2,2 are matrices with entries in C [ z]/q of size (d − s) × s and (d − s) × (d − s) respectively, so that the last d − s rows of N are linearly independent over C [ z]/q. Let M = ( M i , j )1≤i , j ≤2 be partitioned in four blocks as N. Then we have



M·N=

M 1,2 M 2,2



· N 2,1 N 2,2 .

As the matrix ( N 2,1 N 2,2 ) is of full rank, we get that



rank

M 1,2



= rank( M · N ) < r .

M 2,2

˜ = ( A˜ i , j )1≤i , j ≤2 be partitioned in four blocks as N. Then πq (φ −k ( A˜ 1, j )) = 0 for j = 1, 2. Using Let A the substitution Y = D · X where D = diag(φ k−1 (q) · I s , I d−s ), we get a system [ B ]φ of the form (6) with den( B ) | den( A ) and ordq ( B ) ≥ ordq ( A ). Note that



n

πq (q B ) =

πq ( φk1(q) ) · I s 0s,d−s 0d−s,s

I d−s

 

 



πq ( A˜ 1,1 ) πq ( A˜ 1,2 ) πq (φ k−1 (q)) · I s 0s,d−s · . · 0d−s,s I d−s πq ( A˜ 2,1 ) πq ( A˜ 2,2 )

It follows that if k ≥ 2, then rank(πq (qn B )) = rank(lcq ( A )), but we will prove that the factorial relation (7) holds for B˜ := qn B with k − 1 instead of k. As in the proof of Proposition 3.15, we have that

πq (φ −k+1 ( D )) = πq (diag(qI s , I d−s )) = diag(0s,s , I d−s ), hence

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.15 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

 M · πq (φ

−k+1

( D )) =

0s,s

M 1,2

0d−s,s

M 2,2

15

 ,

whose rank is less than r. Now πq (φ( D )) = diag(πq (φ k (q)) · I s , I d−s ) is invertible (since q and φ k (q) are co-prime), it then follows that

rank(πq ( B˜ · φ −1 ( B˜ ) · · · φ −k+1 ( B˜ ))) = rank( M · πq (φ −k+1 ( D )) < r = rank(lcq ( B )). If k − 1 is still positive then we can repeat this process on the matrix B and the polynomial q until we arrive at k = 1. Then we have that



n

πq (q B ) =

πq ( φ(1q) ) I s 0s,d−s 0d−s,s

  ·

I d−s

0s,s

M 1,2

0d−s,s

M 2,2



,

2

whose rank is less than r.

The proof of Proposition 3.18 suggests that Algorithm 2 can be easily adapted to minimize the rank of the leading matrix of a φ -minimal pole. In particular, a transformation T can be computed such that ord p ( T [ A ]φ ) ≥ ord p ( A ) for p ∈ C [ z]. It is to note that rank reduction for a pole in A via Algorithm 2 comes at the potential cost of an increase in order of a pole of A ∗ , as the next example shows. Example 3.19. Consider the system with

⎛ ⎜

A=⎝

z ( z + 1)

0

0

z +1 z

0

0

0







A∗ = ⎝

0⎠,



1 z

1 z ( z −1 )

0

0

0

z −1 z

0

0

0

z−1

⎞ ⎟ ⎠.

( A∗)

We have rank(lcz ( A )) = 2 and ordz−1 = −1, and computing a rank reducing transformation for [ A ]φ via Algorithm 2 gives T = diag(z, z, 1), which results in





z2

0

0

T [ A ]φ = ⎝ 0

1

0⎠,

0

0

1 z





⎛ ⎜

T [ A ]∗φ = ⎝

1

0

0

0

1

1

0

0

z−1

( z −1 ) 2



⎟ ⎠,

with rank(lcz ( T [ A ]φ )) = 1 and ordz−1 ( A ∗ ) = −2. We note that we merely shifted an already present pole in A ∗ to the right, as opposed to adding a new factor to the system. As was mentioned in the introduction, all results in this section also hold for any other kind of pseudo-linear operator whose corresponding system of equations can be written in the form (1), as long as φ is an automorphism and an upper bound for k as in Proposition 4.1 can be computed. If the φ -dispersion is computable, it functions as such a bound. In Koutschan and Zhang (2018), the authors investigate the desingularization of scalar q-difference equations, where φ(x) := q · x for some transcendental constant q. They prove that the φ -dispersion is a valid order bound for a desingularizing operator, but that it is not possible to remove a pole at zero. Additionally they provide an efficient algorithm to compute the φ -dispersion. It is straightforward to show that these results carry over to the case of systems of q-difference equations. Hence, Algorithms 1 and 2 can be directly applied to desingularize such systems. 4. Apparent singularities In this section we establish the connection between the analytical notion of apparent and removable singularities of meromorphic solutions and the algebraic concept of desingularization of difference systems. The key observation is the fact that the factorial relation (5) provides a sufficient condition for a singularity to be removable.

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.16 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

16

Proposition 4.1. Let ζ ∈ Pr ( A ) be a pole of A of order ν ≥ 1 such that ζ − j ∈ / P r ( A ) for all positive integers ˜ = ( z − ζ )ν A, so that A˜ (ζ ) = 0. If ζ is a removable r-singularity of [ A ]φ , then there exists a positive j. Let A integer k such that

˜ (ζ ) · A (ζ − 1) · · · A (ζ − k) = 0. A In particular, the matrix A (ζ − j ) is singular for some non-negative integer j. Proof. Using a result due to Ramis (Barkatou, 1989; Immink, 1999; Ramis, 1988), one can easily prove that for any complex number η with − Re η large enough, there exist a meromorphic fundamental matrix solution F ( z) which is holomorphic for − Re z large enough and satisfies F (η) = I d . Choose a positive integer k such that − Re(ζ − k) is large enough and take a fundamental matrix solution F ( z) as above with F (ζ − k) = I d . Then one can write

F ( z + 1) = A ( z) · A ( z − 1) · A ( z − 2) · · · A ( z − k) · F ( z − k), and hence

( z − ζ )ν · F ( z + 1) = (z − ζ )ν · A ( z) · A ( z − 1) · A ( z − 2) · · · A ( z − k) · F ( z − k). Taking the limit as z goes to ζ , we get that

˜ (ζ ) · A (ζ − 1) · A (ζ − 2) · · · A (ζ − k). 2 0= A Corollary 4.2. Let ζ ∈ P r ( A ) such that there is a φ -minimal q with q(ζ ) = 0. If ζ is a removable singularity of [ A ]φ , then [ A ]φ is desingularizable at q. Proof. Let n := −ordq ( A ). We can apply the transformation constructed in the proof of Proposition 3.15 to reduce the multiplicity of q in den( A ) from n to n − 1. If n > 1, q is still φ -minimal and ζ still removable, and we can repeat the process until [ A ]φ is desingularized at q. 2 5. Extension of numerical sequences Algorithms 1 or 2 can be used to extend numerical sequences that satisfy a system [ A ]φ beyond a removable singularity of the system. We outline this procedure in the following example: Example 5.1. Consider the system Y ( z + 1) = A ( z) · Y ( z) given by

 z +1 A=

z −1

0

0 1 . z −2



 ,



A =

z −2 z

0

0

z − 3.

 .

For a given starting value sm for some fixed m ∈ Z, we can extend the sequence to sm+1 , sm+2 , . . . via the relation

sn+1 = A (n) · sn , and in the other direction sm−1 , sm−2 , . . . via

sn−1 = A ∗ (n)sn . We look at three different starting values to illustrate the effect of the poles Pl ( A ) ∪ Pr ( A ) = {0, 1, 2} of the system.

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.17 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

17

s−1 = (1, 1): We try to extend the sequence to both sides and get s−3

... ...

s−2

(3, −4)

(6, 20)

s−1

s0

(1, 1)

(0, − 13 )

s1

(0,

s2 1 ) 6

?

Extending the sequence to the left s−2 , s−3 , . . . does not cause a problem. When extending to the right, we are not able to go beyond s1 , because z = 1 is a pole of the system. We run Algorithm 1 on [ A ]φ in order to get a desingularized system together with a desingularizing transformation T :



T=

z2 − z

0

0

1





T [ A ]φ =

,

1

0

0

1 z −2







T [ A ]φ −1 =

,

1

0

0

z−3



.

:= T −1 (n)sn and get (T ) = T [ A ]φ (n)rn and get r2 = ( 12 , − 16 ). (T )

With the help of T [ A ]φ , we are now able to determine s2 . We substitute rn (T ) r−1

=

T −1 (−1)s

−1

=

( 12 , 1).

(T )

Next, we compute r2 (T )

Finally, backsubstitution yields s2 = T (2)r2

(T ) via rn+1

= (1, − 16 ). Note that indeed we get

1 1 A ∗ (2)s2 = A ∗ (2) · (1, − ) = (0, ) = s1 . 6 6 It is not possible to extend the sequence beyond this point via [ A ]φ or T [ A ]φ , because z = 2 is a non-removable singularity of the system. Hence we derived a sequence defined on {. . . , −1, 0, 1, 2}. Now consider

 T˜ =

2z3 − 5z2 + 3z

z2 − z

z+2

1



 ,

T˜ [ A ]φ = ⎝



2 z2 −4z+2

z2 −6z+8 −2z3 +3z2 +18z−20 z2 −6z+8

z −3 z2 −6z+8

− z 2 + z +5 z2 −6z+8



⎠.

While T˜ is not a desingularizing transformation by Definition 2.5 as it introduces new singularities at other points, it still removes the singularity at z = 1. If we use this transformation to extend the ( T˜ )

( T˜ )

13 sequence, we get r2 = ( −92 , 18 ) and T˜ (2)r2 = (1, − 16 ), the same value for s2 as before. We will see in Theorem 5.3 that indeed the sequence (sn )n∈N is uniquely determined by its starting value and the system [ A ]φ . In particular this means that the value of s2 is independent of the desingularizing transformation T .

s3 = (1, 1): We extend the sequence to both sides via [ A ]φ and [ A ∗ ]φ −1 : ... ...

s0

(0, 0)

s1

s2

(0, 0)

( 13 , 0)

s3

(1, 1)

s4

s5

...

(2, 1)

( 10 , 1) 3 2

...

When passing the point n = 1, the sequence becomes zero and all subsequent values will therefore be zero. Because of the singularity at z = 0 of A ∗ , it is however not clear a priori if there doesn’t exist a sequence (. . . , s˜ −2 , s˜ −1 , 0) which satisfies [ A ]φ and is not zero everywhere. In order to show that all the sn for n < 0 are determined uniquely by s0 (and are equal to zero), we proceed as before by (T ) computing r2 = T −1 (2)s2 . We then can uniquely extend (sn )n∈N to all n ∈ Z and it follows that the only possible choice for sn , n < 0, is (0, 0). Hence, by choosing a starting value for which we do not encounter a non-removable singularity, we derived a sequence defined on Z that again is uniquely determined by its starting value and the system [ A ]φ . We note that there is no starting value for s3 such that s2 , s1 , . . . are as in the sequence that we derived when choosing s−1 = (1, 1). s0 = (1, 1): When extending the sequence with this starting value, we get s−1 ?

s0

s1

s2

(1, 1)

(−1, − 12 )

?

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.18 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

18

The singularities of the system prevent us from determining the values of s−1 , s−2 , . . . and s2 , s3 , . . . Even though in the desingularized system there are no poles at z = 0 or z = 1, we cannot extend the sequence beyond these points since z = 0 and z = 1 are poles in T −1 and therefore we are not able (T ) (T ) to determine a starting value for a sequence rn with rn = T (n)sn . So, when choosing a starting value located between a removable singularity and the corresponding zero that cancel each other in the desingularization process, we cannot extend the sequence beyond the singularity. The process of using desingularization for extending numerical sequences was described for recurrence operators in Abramov and van Hoeij (1999). The authors prove that the value of a given sequence at a point that is obfuscated by a removable singularity is uniquely determined and independent of the chosen desingularizing operator. We prove the analog of this theorem for first order difference systems, namely, with an appropriate starting point, we can uniquely extend a given sequence beyond a removable singularity independent of the desingularizing transformation. We furthermore formalize our observations from Example 5.1. Remark 5.2. For reasons of clarity and brevity, Theorem 5.3 only considers the extension of sequences with a removable singularity to the right of the starting point. Stating and proving the analog for removable singularities on the left is straightforward and therefore omitted here. Theorem 5.3. Consider a difference system [ A ]φ and suppose that A has a removable singularity at some integer n0 ∈ Z with φ -dispersion . Let m be an integer such that m ≤ n0 −  and Pr ( A ) ∩ N = {n0 } where N := {m, m + 1, . . . , n0 }. Let v ∈ C d be fixed. For any desingularizing transformation (for [ A ]φ at z − n0 ) (T )

T ∈ GLd (C ( z)) ∩ Matd (C [ z]) we associate the sequence (rn )m≤n≤n0 +1 defined by the relations

rm := T −1 (m) v and rn+1 = T [ A ]φ (n)rn (T )

(T )

(T )

for n ∈ N .

Then there exists exactly one sequence (sn )m≤n≤n0 +1 such that

sm = v , and sn+1 = A (n)sn for n ∈ N \ {n0 }, and (T )

sn = T (n)rn

for n ∈ N .

In addition, the sequence (sn )n∈N does not depend on the choice of T . Proof. Let T ∈ GLd (C ( z)) ∩ Matd (C [ z]) be a desingularizing transformation for [ A ]φ at z − n0 as computed by Algorithm 1 and let k be the largest integer such that k −1

( z − n0 + i ) | det( T ).

i =0

We know that k ≤ , hence n0 − k ≥ n0 −  ≥ m. The only possible poles of T −1 ( z) are at the points n0 − k + 1, n0 − k + 2, . . . , n0 and since m ≤ n0 − k therefore

rm := T −1 (m)sm , (T )

is well defined. Now, since B := T [ A ]φ has no poles in the set {m, m + 1, . . . , n0 }, we can use the equation (T )

(T )

rn+1 = B (n)rn , (T )

(T )

(T )

to define rm+1 , . . . , rn0 +1 . So the sequence (rn )m≤n≤n0 +1 is well defined. Now starting with sm = v, one can uniquely determine the values of sn with m < n ≤ n0 by the equations

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.19 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

19

sn+1 = A (n)sn , because A (n) has no poles for the relevant values of n. As for the value of sn0 +1 , we take (T )

sn0 +1 = T (n0 + 1)rn0 +1 . (T )

We now have to prove that the relation sn = T (n)rn holds for all n ∈ N. As it holds for n = m, in order (T ) to prove it holds for all n ∈ N, it is sufficient to check that the sequences (sn )n∈ N and ( T (n)rn )n∈ N are both solutions of the system [ A ]φ , i.e.

sn+1 = A (n)sn , and (T )

(T )

T (n + 1)rn+1 = A (n) · T (n)rn+1 ,

(8) (T )

for all n ∈ N \ {n0 }. For sn , this holds by construction. For rn , first we observe that the relation B ( z) = T −1 ( z + 1) · A ( z) · T ( z), which is valid for all z ∈ C that are not poles of A ( z) or B ( z) and that are such that det T ( z + 1) = 0, implies the relation

T ( z + 1) · B ( z) = A ( z) · T ( z), which extends to the values of z for which det T ( z + 1) = 0 (but still are not poles of A ( z) or B ( z)). It follows that

( T (n + 1) · B (n))rn(T ) = ( A (n) · T (n))rn(T ) for all n ∈ N \ {n0 }, (T )

(T )

which gives (8), as B (n)rn = rn+1 . It remains to show that if S is any other desingularizing transformation for [ A ]φ at z − n0 , then (S)

S (n)rn

= T (n)rn(T ) for all n ∈ N ∪ {n0 + 1}

By Theorem 3.12, we know that S = T · U for some invertible polynomial transformation U . This transformation U turns the system [ B ]φ into the equivalent system [C ]φ where C := S [ A ]φ , so we have C = U −1 · B · U . By the same reasoning as above one can prove that the sequences (rn )m≤n≤n0 +1 (T )

(S)

and (U (n)rn )m≤n≤n0 +1 are both solutions of the system [ B ]φ . As they are equal for n = m, one has (T )

rn

(S)

= U (n)rn

for all m ≤ n ≤ n0 + 1.

It follows that (T )

T (n)rn

(S)

(S)

= ( T (n) · U (n))rn = S (n)rn

for all n ∈ N ∪ {n0 + 1}. 2

Remark 5.4. Theorem 5.3 can be formulated in terms of transformations that introduce new singularities at other points, as long as these new singularities are not contained in N, as was illustrated in Example 5.1. As a corollary to Theorem 5.3 we can state the analogue of Corollary 1 in Abramov and van Hoeij (1999). Corollary 5.5. Let [ A ]φ be a linear difference system and let n0 be a removable integer pole of A. Any sequence (. . . , sn0 −2 , sn0 −1 , sn0 ) that satisfies [ A ]φ can be uniquely extended to a sequence (. . . , sn0 −2 , sn0 −1 , sn0 , sn0 +1 ) such that the relation (T )

sn = T (n)rn

holds for all n ≤ n0 + 1 and for any desingularizing polynomial transformation T of [ A ] at z − n0 . Here (T ) (T ) (rn )n∈N denotes any sequence solution of T [ A ] such that rm = T −1 (m)sm for some integer m < n0 .

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.20 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

20

6. Desingularization in Sage An implementation of Algorithm 1 is included in the FOS package2 (Jaroschek, 2018) for the computer algebra system Sage (The Sage Developers, 2018). We briefly demonstrate how the desingularization procedure is invoked on an example system. The package can be obtained from http:// www.mjaroschek.com/fos/. We start by loading the package and telling the Sage that we want all matrices that are passed to the methods in the package to be interpreted as difference systems.

sage: load(’fos.py’) sage: set_global_systype(’shift’,warning=False) All systems will now be interpreted as difference systems. Next we enter the defining matrix for the system.

sage: sage: ... ... ... ... ... ... sage: ⎛ 3 ⎜ ⎜ ⎝

R.=PolynomialRing(QQ) A=matrix([ [(3/2*z - 1)/(z - 2), 1/2, (1/2*z^2 - z + 1)/(z - 2)], [(z^3 - 5/2*z^2 - 2)/(z^2 - 2*z), (z^2 + 1/2*z + 1)/z, (-3/2*z^3 + 3*z^2- 2*z + 2)/(z^2-2*z)], [-1, -1, -z + 1]]) view(A) ⎞ 1 2

z−1 z−2

2

z3 − 52 z2 −2 z2 −2z

1 2

z2 + 12 z+1 z

2

z − z+1 z−2

− 32 z3 +3z2 −2z+2 z2 −2z

⎟ ⎟ ⎠

−1 −1 −z + 1 sage: view(A.denominator().factor()) ( z − 2) · z The command desingularize returns the desingularizing transformation and the desingularized matrix. By default, all removable singularities are removed. Alternatively, it is possible to specify which factor of the denominator of the input matrix should be removed. The desingularization algorithm is only invoked if the given pole is φ -minimal. A ValueError is raised otherwise.

sage: (T,dA)=desingularize(A) sage: view(T) ⎛ 3 ⎞ 3 2 z − 3z2 + 2z − 12 z2 + 32 z − 1 z − 94 z + 1 4 ⎝ 0 1 0⎠ 0

sage: view(dA) ⎛ 1 3 z − 32 z2 + 12 z + 1 2 ⎜ 4 7 3 5 2 ⎝ z − 2 z + 2 z − 2z + 2

0

1

− 14 z2 + 34 z + − 12 z3 + 74 z2 − 14 z +

1 4 3 2

1 2 − z3 + 3z2 − 2z z − 32 z 2 sage: apply_transformation(A,T)==dA True sage: view(desingularize(A,z)[1])

2

3 3 z 4



3 2 z 8 21 2 z 8

− 98 z + − 18 z −

1 8 5 4

⎞ ⎟ ⎠

− 34 z2 + 54 z

The FOS package is in active development. Its content, including the methods presented herein, are subject to change.

JID:YJSCO

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.21 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

⎛ ⎜ ⎝

z+1

0

1

z3 − 52 z2 −2 z−2

z z−2

− 12 z2 + 12 z−2 z−2

−z

0

21

⎞ ⎟ ⎠

−z

When we convert the system into a scalar equation with the cyclic vector method, it can happen that new apparent singularities are introduced in the process. These, together with the apparent singularities already present in the system, can be removed with the desingularization method provided in the ore_algebra package (Kauers et al., 2014). The order of the desingularized operator increases.

sage: P=to_scalar_operator(A)[0].numerator(); P.order() 3 sage: view(P.leading_coefficient().factor() (−1) · (z − 1) · z · ( z3 − 6z2 + 11z − 7) sage: Q=P.desingularize(); Q.order() 4 sage: Q.leading_coefficient() 1 7. Conclusion and future work In this paper we presented two algorithms to desingularize linear first order difference systems and we explored the notions of apparent and removable singularities. These topics have already been studied in the context of difference operators, where usually the solution space of a given operator is increased as a side effect of the desingularization process. An interesting starting point for further research is to investigate the relation of desingularization on a system level and on an operator level in regard to this extension of the solution space. Concerning pseudo linear systems, we will continue our work in several directions. We aim to establish a clear connection between removable singularities of a system [ A ]φ and the removable sin1 gularities of [ A ∗ ]− φ . Furthermore, studying desingularization at non-φ -minimal poles is a promising approach for identifying poles that only appear in some components of fundamental solutions. We are currently also investigating how to characterize poles in solutions that do not propagate to infinitely many congruent points via gauge transformations. In Chen et al. (2019), the authors discuss desingularization of multivariate D-finite scalar equations. In the same vein, a desingularization algorithm for multivariate D-finite systems would be a useful extension. Regarding complexity, it would be desirable to conduct a thorough complexity analysis of desingularization algorithms. Finally, as was shown in Chen et al. (2013), Jaroschek (2013a), removable singularities of operators can negatively impact the running time of some algorithms and it is interesting to investigate whether similar effects occur for linear systems. Declaration of competing interest The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper. Acknowledgements We would like to thank the anonymous reviewers for their very careful reading and helpful suggestions. References Abramov, S.A., Barkatou, M.A., van Hoeij, M., 2006. Apparent singularities of linear difference equations with polynomial coefficients. Appl. Algebra Eng. Commun. Comput. 17 (2), 117–133.

JID:YJSCO

22

AID:1974 /FLA

[m1G; v1.261; Prn:21/10/2019; 16:50] P.22 (1-22)

M.A. Barkatou, M. Jaroschek / Journal of Symbolic Computation ••• (••••) •••–•••

Abramov, S.A., van Hoeij, M., 1999. Desingularization of linear difference operators with polynomial coefficients. In: Proceedings of ISSAC 1999, pp. 269–275. Barkatou, M.A., 1989. Contribution à l’étude des équations différentielles et aux différences dans le champ complexe. PhD thesis. INPG, Grenoble, France. Barkatou, M.A., 2006. Factoring systems of linear functional equations using eigenrings. In: Computer Algebra 2006, Latest Advances in Symbolic Algorithms. Proceedings of the Waterloo Workshop. Ontario, Canada. Barkatou, M.A., Chen, G., 1999. Computing the exponential part of a formal fundamental matrix solution of a linear difference system. J. Differ. Equ. Appl. 5 (3), 1–26. Barkatou, M.A., Chen, G., 2001. Some formal invariants of linear difference systems. J. Reine Angew. Math. 533 (2), 1–23. Barkatou, M.A., Jaroschek, M., 2018. Desingularization of first order linear difference systems with rational function coefficients. In: Proceedings of ISSAC 2018, pp. 39–46. Barkatou, M.A., Maddah, S.S., 2015. Removing apparent singularities of systems of linear differential equations with rational function coefficients. In: Proceedings of ISSAC 2015. ACM, New York, NY, USA, pp. 53–60. Birkhoff, G.D., 1930. Formal theory of irregular linear difference equations. Acta Math. 54, 205–246. Bronstein, M., Petkovšek, M., 1996. An introduction to pseudo-linear algebra. Theor. Comput. Sci. 157, 3–33. Chen, S., Jaroschek, M., Kauers, M., Singer, M., 2013. Desingularization explains order-degree curves for Ore operators. In: Proceedings of ISSAC 2013, pp. 157–164. Chen, S., Kauers, M., Li, Z., Zhang, Y., 2019. Apparent singularities of d-finite systems. J. Symb. Comput. 95, 217–237. Chen, S., Kauers, M., Singer, M.F., 2016. Desingularization of Ore polynomials. J. Symb. Comput. 74, 617–626. The Sage Developers, 2018. SageMath, the Sage mathematics software system (version 8.4). http://www.sagemath.org. Flajolet, P., Sedgewick, R., 2009. Analytic Combinatorics, 1st edition. Cambridge University Press, New York, NY, USA. Immink, G.K., 1999. On the relation between linear difference and differential equations with polynomial coefficients. Math. Nachr. 200, 59–76. Jacobson, N., 1937. Pseudo-linear transformations. Ann. Math. 33 (2), 484–507. Jaroschek, M., 2013a. Improved polynomial remainder sequences for Ore polynomials. J. Symb. Comput. 58, 64–76. Jaroschek, M., 2013b. Removable Singularities of Ore Operators. PhD thesis. RISC, Johannes Kepler University Linz. Jaroschek, M., 2018. FOS - a Sage package for first-order differential and difference systems. Development build. http://www. mjaroschek.com/fos/. Kauers, M., Jaroschek, M., Johansson, F., 2014. Ore polynomials in Sage. In: Gutierrez, Jaime, Schicho, Josef, Weimann, Martin (Eds.), Computer Algebra and Polynomials. In: Lecture Notes in Computer Science, vol. 8942, pp. 105–125. Kauers, M., Paule, P., 2011. The Concrete Tetrahedron, 1st edition. Text and Monographs in Symbolic Computation. Springer, Wien. Koutschan, C., Zhang, Y., 2018. Desingularization in the q-Weyl algebra. Adv. Appl. Math. 97, 80–101. Praagman, C., 1986. Fundamental solutions for meromorphic linear difference equations in the complex plane, and related problems. J. Reine Angew. Math. 369, 100–109. Ramis, J.-P., 1988. Etude des solutions méromorphes des équations aux différences linéaires algébriques. Manuscript. Tsai, H., 2000. Weyl closure of a linear differential operator. J. Symb. Comput. 29 (4–5), 747–775. Zhang, Y., 2016. Contraction of Ore ideals with applications. In: Proceedings ISSAC 2016. ACM, New York, NY, USA, pp. 413–420.