1 s2.0 S0747717197901103 Main
1 s2.0 S0747717197901103 Main
1 s2.0 S0747717197901103 Main
The topic of this paper is formal solutions of linear differential equations with formal
power series coefficients. The method proposed for computing these solutions is based
on factorization of differential operators. The notion of exponential parts is introduced
to give a description of factorization properties and to characterize the formal solutions.
The algorithms will be described and their implementation is available.
c 1997 Academic Press Limited
1. Introduction
Factorization of differential operators is a powerful computer algebra tool for handling
ordinary linear differential equations. It can be applied to compute formal solutions and
to study the structure of a differential equation. A differential equation
y (n) + an−1 y (n−1) + · · · + a1 y 0 + a0 y = 0
corresponds to a differential operator
f = ∂ n + an−1 ∂ n−1 + · · · + a0 ∂ 0
acting on y. Here the coefficients ai are elements of the differential field k((x)) and ∂
is the differentiation d/dx. The field k is the field of constants. It is assumed to have
characteristic 0. The differential operator f is an element of the non-commutative ring
k((x))[∂]. This is an example of an Ore ring (Ore, 1933).
Sections 6 and 8 contain the main results of this paper. These results are expressed
using the notion of exponential parts. The exponential parts will be studied in Section 6
from the viewpoint of factorization, and in Section 8 from the viewpoint of formal so-
lutions. They form the key ingredient for our factorization algorithm for k(x)[∂] in (van
Hoeij, 1996, Chapter 3). Another application is found in Section 9. Here the question
is: when is a given vector space a solution space of a certain differential operator? This
question can easily be answered using the direct sum splitting in Section 8.
The algorithms in this paper are given in Sections 4, 5 and 8.4. From an algorithmic
† E-mail: hoeij@sci.kun.nl
point of view the factorization in k((x))[∂] is the central problem because the other
algorithms in this paper require this tool. We will discuss it in the rest of this section.
Note that in general elements of k((x)) consist of infinitely many terms. Only a finite
number of them can be computed. This means that a factorization can only be determined
up to some finite accuracy. The notion of accuracy will be formalized later. Increasing
the accuracy of a factorization will be called lifting a factorization.
From Malgrange (1979) we know that an element of k((x))[∂] which has only one
slope in the Newton polygon (cf. Section 3.3) and which has an irreducible Newton
polynomial (cf. Section 3.4) is irreducible in k((x))[∂]. Malgrange (1979) shows that in
the following two cases a differential operator f ∈ k((x))[∂] is reducible in this ring and
how a factorization can be computed:
1. An operator with a broken Newton polygon (i.e. more than one slope).
2. An operator with one slope > 0 where the Newton polynomial is reducible and not
a power of an irreducible polynomial.
In our method these two cases of factorization and the factorization of regular singular
operators are called coprime index 1 factorizations. Coprime index 1 means that the
factorization can be lifted by the usual Hensel lifting (cf. any book on computer algebra)
procedure. For a definition of the coprime index see Section 2.
Example 1.1.
1 3 2 1 1
f = ∂4 + 2
∂ + 4 ∂2 + 6 ∂ + 8 .
x x x x
The Newton polynomial is T 4 +T 3 +2T 2 +T +1. This polynomial can be factored over Q
as (T 2 +1)(T 2 +T +1). Because T 2 +1 and T 2 +T +1 in Q[T ] are coprime (i.e. the gcd is 1)
we can conclude from Malgrange (1979) that f is reducible in Q((x))[∂]. A factorization
of f = LR is obtained in two steps. The first step is to compute the factorization up to
accuracy 1 (definitions follow later, this integer 1 is related to the coprime index). This
accuracy is obtained when we have the Newton polynomials T 2 + 1 and T 2 + T + 1 of L
and R (here T 2 +1 and T 2 +T +1 can be interchanged to obtain a different factorization).
The next step is to lift the factorization up to the desired accuracy. Because T 2 + 1 and
T 2 + T + 1 are coprime this lifting can be done by the usual Hensel lifting procedure. In
each lift step the extended Euclidean algorithm is used. Note that in this example the
reducibility of f can be concluded from very few coefficients of f in k; the coefficients
which determine the Newton polynomial are sufficient.
Now there remains one hard case of factorization in k((x))[∂]. Here f has one slope
s 6= 0 and the Newton polynomial is of the form P d , where P is an irreducible polynomial
over k and d is an integer > 1. In this case it is more difficult to decide if f is reducible
or not. A factorization of f will have coprime index > 1.
Example 1.2.
2 + x4 2 8 1 + 20x2
f = ∂4 + 4
∂ − 5∂ + .
x x x8
The Newton polynomial of f is T 4 + 2T 2 + 1 = (T 2 + 1)(T 2 + 1). Because the two factors
T 2 + 1 and T 2 + 1 are not coprime we cannot apply Hensel lifting to find a factorization
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 3
over Q((x))[∂]. Malgrange provides a factorization method in Q((x))[∂] for this case. We
want to find a factorization in Q((x))[∂]. In this example f is reducible in Q((x))[∂].
However, f + 1/x6 (replace the coefficient 20 by 21) is irreducible in Q((x))[∂]. In the
previous example adding 1/x6 would have no influence on the reducibility of f because
the reducibility could already be decided from the Newton polynomial. We see that this
example is more complicated because more coefficients of f are relevant for deciding
reducibility. We shall proceed as follows:
For some applications, like factorization in k(x)[∂], we need to compute the factors L
and R up to a high accuracy. The method sketched for computing L and R is not very
suitable for this because it is slow. We will use this slow method to compute L and R
up to a certain accuracy (up to the coprime index) and then use a different method to
lift the factorization. Coprime index > 1 means that the usual Hensel lifting does not
work because the Newton polynomials of L and R have gcd 6= 1. For this case we give a
variant on the Hensel lifting method in Section 4.
The factorization of a differential operator f is done recursively. If f can be factored
f = LR then the factorization algorithm is applied to the factors L and R (or only
to R when we are only interested in right-hand factors) until f is factored in irreducible
factors. This causes a difficulty; if a factorization is required with a given accuracy it is
not clear how accurate the intermediate factorizations should be. To solve this problem
we use lazy evaluation in our implementation. This is a computer algebra trick which
makes exact computation in k((x)) possible. It does not use truncations of some finite
accuracy. Instead, an expression a ∈ k((x)) is denoted as the name and arguments of a
procedure that computes coefficients of a. These coefficients are automatically computed
and stored when they are needed. This method of computing in k((x)) is very efficient
because coefficients which are not used will not be computed.
The use of factorization for computing formal solutions is beneficial for the efficiency in
case the solutions involve algebraic extensions, cf. the comments after algorithm formal
solutions in Section 8.4.
P
and d > 0. Now the valuation vs ( i,j ai,j xi δ j ) is defined as the minimum id − jn for
which ai,j 6= 0.
S with a chain of additive subgroups · · · ⊃ D−1 ⊃ D0 ⊃ D1 · · ·
A filtered ring is a ring D
such that: 1 ∈ D0 , D = n∈Z Dn and Dn Dm ⊂ Dn+m for all integers n and m. The
chain (Dn )n∈Z is called a filtration of D. The associated graded ring gr D is defined as
⊕n Dn /Dn+1 . The symbol map σ : D → gr D is defined as: σ(0) = 0, σ(f ) = f + Dn+1 if
f ∈ Dn \ Dn+1 . For more information about filtrations see Björk (1979). A valuation v
defines a filtration on a ring D as follows
Dn = {f ∈ D | v(f ) ≥ n}.
For positive integers a the set D0 /Da has the structure of a ring.
For a ring D with a valuation v we can define a truncation σa with accuracy a for
non-zero elements f of D and positive integers a as follows
σa (f ) = f + Dv(f )+a ∈ Dv(f ) /Dv(f )+a .
The symbol map is σ1 .
Suppose f ∈ D can be written as f = LR where L, R ∈ D. For invertible elements
u ∈ D we have f = LR = (Lu)(u−1 R). We will call the ordered pair L, R equivalent
with the pair Lu, u−1 R. Let t be a positive integer. Then the ordered pair L, R is called
coprime with index t if for all a ≥ t the pair σa+1 (L), σa+1 (R) is determined up to the
above equivalence by σa (L), σa (R) and σa+t (f ). Assume t is minimal, then t is called the
coprime index of L, R. If L, R is not coprime for any integer t then the coprime index
is ∞.
For our examples Qp [x], k((x))[y] and k((x))[δ] the notion of equivalence for pairs L, R
can be avoided by restricting ourselves to monic elements f , L and R. Then we can define
the coprime index of the factorization f = LR as the smallest positive integer t for which
the following holds: for all integers a ≥ t and monic elements L0 and R0 of D, if
σa (L0 ) = σa (L) and σa (R0 ) = σa (R) and σa+t (L0 R0 ) = σa+t (f )
then
σa+1 (L0 ) = σa+1 (L) and σa+1 (R0 ) = σa+1 (R).
Example 2.2. f1 = x4 −x2 −2 = L1 R1 = (x2 +1)(x2 −2) ∈ Q3 [x] and f2 = x4 −x2 −20 =
L2 R2 = (x2 + 4)(x2 − 5) ∈ Q3 [x]. Now f1 and f2 are the same up to accuracy 2 (i.e.
are congruent modulo 32 ) but the factorizations L1 , R1 and L2 , R2 are different up to
this accuracy. It follows that to determine the factorization of f1 up to some accuracy a
it is not sufficient to know σa (f1 ). This means that the coprime index of L1 , R1 is > 1.
We cannot apply ordinary Hensel lifting to find a factorization of f1 because σ1 (L1 ) and
σ1 (R1 ) have gcd 6= 1.
The name coprime index is explained from the case k((x))[y]. In this ring L, R have
finite coprime index if and only if L and R are coprime in the usual sense (i.e. gcd(L, R) =
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 5
1). It is shown in van Hoeij (1996, Chapter 5) that the coprime index of a factorization
f = LR in k((x))[δ] is always finite.
3. Preliminaries
This section summarizes the concepts and notations we will use in this paper. Defini-
tions will be brief; references to more detailed descriptions are given.
k is a field of characteristic 0, k is its algebraic closure. k((x)) is the field of formal Lau-
rent series in x with finite pole order and coefficients in k. k((x)) is the algebraic
S closure
of k((x)). It is (cf. Bliss, 1966) contained in the algebraically closed field n∈N k((x1/n )),
the field of Puiseux series with coefficients in k.
A ramification of the field k((x)) is a field extension k((x)) ⊂ k((r)) where r is algebraic
over k((x)) with minimum polynomial rn − ax for some non-zero a ∈ k and positive
integer n (cf. Sommeling, 1993). If a = 1 this is called a pure ramification.
For r ∈ k((x)) (not necessarily with minimum polynomial rn − ax) we call the smallest
integer n for which r ∈ k((x1/n )) the ramification index ram(r) of r. If L is a finite
algebraic extension of k((x)) then the ramification index of L is the smallest n for which
L ⊂ k((x1/n )).
k((x)) is a differential field with differentiation d/dx. If k((x)) ⊂ L is an algebraic
extension then d/dx can be extended in a unique way to L. All finite algebraic extensions
k((x)) ⊂ L are of the following form:
L = l((r))
where k ⊂ l is a finite extension and l((x)) ⊂ l((r)) is a ramification (cf. Sommeling, 1993,
Proposition 3.1.5).
and the definition of the Newton polygon (cf. Section 3.3) are easier for operators with
this syntax. The operators we consider are usually monic. This means an = 1. The order
of a differential operator f is the degree of f as a polynomial in δ.
f is called the least common left multiple of a sequence of differential operators f1 , . . . , fr
if all fi are right-hand factors of f , the order of f is minimal with this property, and f
is monic. Notation: f = LCLM(f1 , . . . , fr ) (cf. Singer,P 1996). The solution space of f is
spanned by the solutions of f1 , . . . , fr . So V (f ) = V (fi ) where V (f ) stands for the
solution space of f . In order to speak about the solutions of differential operators a dif-
ferential extension of k((x)) is required that contains a fundamental system of solutions
of f1 , . . . , fr . For this we can use the so-called universal extension that we will denote
as V . This V is constructed as follows (this construction is obtained from Hendriks and
6 M. van Hoeij
van der Put (1995), our V is called R in Hendriks and van der Put (1995, Lemma 2.1.1)).
Define the set
[
E= k[x−1/n ].
n∈N
First view Exp(e) and log(x) as variables and define the free k((x))-algebra W in these
variables W = k((x))[{Exp(e) | e ∈ E}, log(x)]. Then define the derivatives Exp(e)0 =
e
x Exp(e) and define the derivative of log(x) as 1/x. This turns W into a differential ring.
We can think of Exp(e) as
Z
e
Exp(e) = exp dx
x
d
because x dx acts on Exp(e) as multiplication by e. Now define V as the quotient ring
V = W/I where the ideal I is generated by the following relations:
Exp(e1 + e2 ) = Exp(e1 ) Exp(e2 ) for e1 , e2 ∈ E
and
Exp(q) = xq ∈ k((x)) for q ∈ Q.
Note that this ideal is closed under differentiation. Hence V is a differential ring. It is
proven in Hendriks and van der Put (1995) that V is an integral domain and that k is
the set of constants of V . We denote the set of solutions of f in V as V (f ). This is a
k-vector space. Since every f ∈ k((x))[δ] has a fundamental system of solutions in V (cf.
(Hendriks and van der Put, 1995)) it follows that
dim(V (f )) = order(f ).
The substitution map Se : k((x))[δ] → k((x))[δ] is a k((x)) homomorphism defined by
Se (δ) = δ + e for e ∈ k((x)). Se is a ring automorphism. The following is a well-known
relation between the solution spaces:
V (f ) = Exp(e) · V (Se (f )).
The algorithm “Riccati solution” in Section 5.1 introduces algebraic extensions over
k((x)). This requires computer code for algebraic extensions of the constants k ⊂ l. But
we can avoid writing code for ramifications. Given a field extension k((x)) ⊂ k((r)) where
rn = ax for some a ∈ k we will use the following ring isomorphism
θa,n : k((r))[δ] → k((x))[δ]
defined by θa,n (r) = x and θa,n (δ) = n1 δ. This map enables us to reduce computations
in k((r))[δ] to computations in k((x))[δ].
For the non-commutative case f ∈ k((x))[δ] definitions of the Newton polygon are
given in Malgrange (1979), Tournier (1987) and Sommeling (1993, p. 48). N (xi δ j ) is
defined as {(a, b) ∈ R2 | 0 ≤ a ≤ j, i ≤ b} and N (f ) is again defined as the convex hull of
the union of the Newton polygons of the monomials that appear in f . This definition is
slightly different from the commutative case. As a consequence all slopes are ≥ 0. This
is needed to ensure N (f g) = N (f ) + N (g). If f has only one slope s = 0 then f is called
regular singular.
(1,0) (2,0)
1
j
(0,-1) 2
(0,-2) 2 3
5 1
7 2 3 -3
0 2
For every i ∈ Z there is a unique pair of integers ni , di such that the map φi : D0 /D1 →
Di /Di+1 defined by φ(a) = xni δ di a is a bijection. The integers ni , di can be determined
from the conditions 0 ≤ di < d and vs (xni δ di ) = i. Now Ns0 (a) for a ∈ Di /Di+1 can
be defined as Ns0 (φ−1 0
i (a)). Ns is also defined for non-zero elements of f ∈ k((x))[δ]
as Ns (σ1,s (f )). In our example N00 (f ) = 2T , N1/2
0 0
(f ) = T 2 − 3T + 2 and N10 (f ) =
T 9 + 2T 8 + 3T 7 + 2T 6 + T 5 .
For slope s = 0 we define the Newton polynomial N0 (f ) as N00 (f ). From the multipli-
cation formula in Section 3.2 the following property follows for L, R ∈ k((x))[δ]
N0 (LR) = ST =T +v0 (R) (N0 (L))N0 (R).
Here ST =T +v0 (R) (N0 (L)) means N0 (L) with T replaced by T + v0 (R). For our example f
we get N0 (f · f ) = 4(T − 6)T .
For slope s > 0 we have the following property for L, R ∈ k((x))[δ]
Ns0 (LR) = T p Ns0 (L)Ns0 (R).
Here p is either 0 or 1, depending on the slope s and the valuations vs (L) and vs (R).
Let i = vs (L) and j = vs (R). Then φi (1) · φj (1) = xni +nj δ di +dj mod Di+j+1 . This is
either equal to φi+j (1) or xn δ d φi+j (1) mod Di+j+1 , depending on whether di + dj is
smaller than d or not. In the first case p = 0, in the second case p = 1. For our example
0 0
N1/2 (f ·f ) = T ·(N1/2 (f ))2 and N10 (f ·f ) = (N10 (f ))2 . Now define Ns (f ) as Ns0 (f ) divided
by T to the power the multiplicity of the factor T in Ns0 (f ). Then
Ns (LR) = Ns (L)Ns (R)
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 9
Note that our definition does not correspond to the usual definition of the Newton
polynomial. It corresponds to the definition of the reduced characteristic polynomial in
Barkatou (1988). The roots of N0 (f ) in k are called the exponents of f . If f ∈ k((x))[δ]
is regular singular (i.e. f has only one slope s = 0, or equivalently degree(N0 (f )) =
order(f )) and all exponents of f are integers then f is called semi-regular.
Property 3.1. If f = LR then the Newton polynomial of the right-hand factor Ns (R)
divides Ns (f ). However, for a left-hand factor this need not hold. But if s > 0 or if
v0 (R) = 0 (for example if R is regular singular and monic) then Ns (f ) = Ns (L)Ns (R)
so in such cases Ns (L) divides Ns (f ).
t > a, the output of the lift algorithm is “failed”, and we will have to use the less-efficient
method in Section 7 to lift the factorization. Note that the efficiency of our lift algorithm
depends on the coprime index, if this number is very high then it may not provide any
speed-up over the method from Section 7.
A truncation σa,s (R) = R + Dvs (R)+a is stored as an element R0 ∈ k[x, 1/x, δ] with no
terms in Dvs (R)+a . Now write
X
r= rij xi δ j
i,j
where the sum is taken over all i, j such that vs (R) + a ≤ vs (xi δ j ) < vs (R) + a + t and
j ≤ order(R). Here rij are indeterminates. We set rij = 0 for j = order(R), i 6= 0, and
set rij = 1 for j = order(R), i = 0. Similarly write L0 and l. Now we look for values
for the lij and rij such that R0 + r and L0 + l approximate R and L up to accuracy
a + 1. If the coprime index is t, the accuracy is at least a + 1 if the following holds:
σa+t,s ((L0 + l)(R0 + r)) = σa+t,s (f ), or equivalently
(L0 + l)(R0 + r) ≡ f mod Dvs (f )+a+t .
(L0 + l)(R0 + r) = L0 R0 + lR0 + L0 r + lr. To determine lR0 mod Dvs (f )+a+t it suffices to
have R0 up to accuracy t because vs (l) + vs (R0 ) ≥ vs (f ) + a. Similarly σt,s (L0 ) suffices
to compute L0 r mod Dvs (f )+a+t . vs (lr) ≥ vs (f ) + a + a ≥ vs (f ) + a + t so lr vanishes
modulo Dvs (f )+a+t . Hence
f ≡ L0 R0 + lσt,s (R0 ) + σt,s (L0 )r mod Dvs (f )+a+t .
By equating the coefficients of the left-hand side to the coefficients of the right-hand side
(the coefficients of all monomials of valuation < vs (f )+a+t) we find the linear equations
in lij and rij . To determine these equations we must multiply l by σt,s (R0 ), (= σt,s (R)
because R0 equals R up to accuracy a and t ≤ a) which is the lowest block of R with
slope s and width t in the Newton polygon of R. Similarly we must compute σt,s (L0 )r.
Usually the most time consuming part is the multiplication L0 R0 modulo Dvs (f )+a+t .
One approach is the following. Compute L0 R0 in k[x, 1/x, δ] and store the result together
with L0 and R0 . In the next lift step a similar multiplication must be performed, but
then L0 and R0 are slightly changed. Suppose we must compute the product (L0 +e1 )(R0 +
e2 ) in the next lift step. Here L0 and R0 are large expressions and e1 and e2 are small.
Using the previous multiplication L0 R0 we can speed up this multiplication by writing
(L0 + e1 )(R0 + e2 ) = L0 R0 + e1 R0 + L0 e2 + e1 e2 . The result of this multiplication is again
stored for use in the next lift step.
In this approach L0 R0 has been computed exactly. This is not efficient since we only
need it up to accuracy a+t, i.e. modulo Dvs (f )+a+t . Computing modulo Dvs (f )+a+t is not
as convenient as computing modulo a power of x when using the multiplication formula
in Section 3.2. We compute L0 R0 modulo a suitable power of x such that L0 R0 can still
be determined modulo Dvs (f )+a+t . Unless the slope s is zero, however, a few more terms
of the product L0 R0 than needed have been computed then. These terms are stored to
speed up the multiplication the next time that the lift algorithm is called.
solve a system (see Section 4) of the form lσ1,s (R) + σ1,s (L)r = g where g is computed by
multiplying the so-far computed truncations (called L0 and R0 in Section 4) of L and R
and subtracting this product from f . As in Section 3.4 this equation can be converted
to an equation lR0 + rL0 = g for certain l, r, L0 , R0 , g ∈ k[T ] and l, r unknown. Such an
equation can be solved by the Euclidean algorithm.
Consider the example f in Section 3.4. f has slopes 0, 1/2 and 1 in this example. In
Malgrange (1979) a method is given to compute a right-hand factor f1 with only slope 0
and order 1, a right-hand factor f2 with slope 1/2 and order 4 and a right-hand factor f3
with slope 1 and order 4. The Newton polynomial of f2 is the same as the Newton
polynomial N1/2 (f ) of f for slope 1/2. It is 2 − 3T + T 2 = (T − 1)(T − 2). Because
gcd(T − 1, T − 2) = 1 this f2 is again reducible in Q((x))[δ], cf. Malgrange (1979). It
has a right-hand factor g1 of order 2 and slope 1/2 with Newton polynomial T − 1 and
a right-hand factor g2 with Newton polynomial T − 2. So to obtain g1 two factorization
were needed. In one application, our algorithm for factorization in Q(x)[∂], we are mainly
interested in one of the irreducible right-hand factors of f in Q((x))[δ]. That is why we
want to be able to compute g1 directly without using an intermediate factorization to
compute f2 . This is done by the following algorithm.
Algorithm Coprime Index 1 Factorizations.
Input. f ∈ k((x))[δ], f monic
Output. All monic coprime index 1 factorizations f = LR in k((x))[δ] such that R does
not have a non-trivial coprime index 1 factorization.
Note. The definition of coprime index depends on the valuation that is chosen on k((x))[δ].
Here only the valuations vs that are defined in Section 2 are considered.
for all slopes s of f do
g := Ns (f )
Compute a prime factorization of g in k[T ], g = cg1e1 · · · grer ,
where gi are the different monic irreducible factors and c ∈ k.
if s = 0 then
M := {g1 , . . . , gr }
N := M \ {g | g(T ) = h(T + i), h ∈ M, i ∈ N, i > 0}
else
N := {g1e1 , . . . , grer }
end if
for h in N do
Write h = T p + hp−1 T p−1 + · · · + h0 T 0 .
Write s = n/d with d > 0 and gcd(n, d) = 1 (if s = 0 then n = 0, d = 1)
R0 := δ pd + hp−1 x−n δ (p−1)d + hp−2 x−2n δ (p−2)d + · · · + h0 x−pn δ 0 .
Now R0 has Newton polynomial h. We want to lift R0 to a right-hand
factor R such that R0 is R modulo Dvs (R0 )+1 .
L := an operator such that σ1,s (f ) = σ1,s (L0 R0 ).
0
Suppose σa,s (L0 R0 ) = σa,s (f ), meaning that the factorization has been lifted up to
accuracy a. If no lift steps were done yet, then a = 1. Now we look for l ∈ Dvs (L0 )+a and
r ∈ Dvs (R0 )+a such that σa+1,s ((L0 +l)(R0 +r)) = σa+1,s (f ) and order(r) < order(R0 ). To
prove statement 1 we have to show that l, r exist and that σa+1,s (L0 +l) and σa+1,s (R0 +r)
are uniquely determined. This means that l mod Dvs (L)+a+1 ∈ D (cf. Section 3.4) and
r mod Dvs (R)+a+1 ∈ D are uniquely determined. Then L0 and R0 are replaced by L0 + l
and R0 + r and the accuracy of the approximations L0 and R0 for L and R has increased
by 1. l and r must satisfy the following equation in D
σ1,s (L)r + lσ1,s (R) = f − L0 R0 mod Dvs (f )+a+1 .
By applying Ns0 we obtain the following equation in k[T ] if s = 0
ST =T +a (L0 )r0 + l0 R0 = g
and
L 0 r0 + l 0 R 0 = g or T L0 r0 + l0 R0 = g
if s > 0. Here l0 = Ns0 (l mod Dvs (L)+a+1 ), r0 = Ns0 (r mod Dvs (R)+a+1 ), L0 = Ns0 (L),
R0 = Ns0 (R) and g = Ns0 (f − L0 R0 mod Dvs (f )+a+1 ). Note that vs (R) is 0 if s = 0. The
requirement order(r) < order(R) means degree(r0 ) < degree(R0 ). To prove statement 1
we now have to show that l0 , r0 ∈ k[T ] exist and are uniquely determined. For this it
is sufficient to show that gcd(T L0 , R0 ) = 1 if s > 0 and gcd(ST =T +a (L0 ), R0 ) = 1 if
s = 0. First the case s > 0. R0 is the factor h of the Newton polynomial in the algorithm.
L0 R0 = Ns0 (f ) = T i Ns (f ) for some integer i. The set N of factors h of Ns (f ) is chosen in
such a way in the algorithm that gcd(h, Ns (f )/h) = 1. Also gcd(h, T ) = 1 because Ns (f )
does not contain a factor T by definition and h is a factor of Ns (f ). So gcd(T L0 , R0 ) = 1.
Now for the case s = 0: we have L0 R0 = Ns (f ) because vs (R) = 0 (see the multiplication
formula for N0 in Section 3.4). R0 is the factor h of Ns (f ) in the algorithm. We have to
show that gcd(ST =T +a (L0 ), R0 ) = 1. The set N containing these factors h was chosen in
such a way that this holds for all a ≥ 1.
To prove the second statement we distinguish two cases. Suppose s = 0: then the
Newton polynomial of R is irreducible. Hence R must be irreducible because a factoriza-
tion of R gives a factorization of the Newton polynomial. Now suppose s > 0: then the
Newton polynomial is of the form pi where p is irreducible and i is an integer. If i > 1
then it is not clear whether R is reducible or not. Suppose R can be factored R = R1 R2 .
Then the Newton polynomials of R1 and R2 are both factors of pi . So the gcd of these
Newton polynomials is not equal to 1. Coprime index 1 would mean that σa+1,s (R1 ) and
σa+1,s (R2 ) can be uniquely determined from σa,s (R1 ), σa,s (R2 ) and σa+1,s (f ). To deter-
mine σa+1,s (R1 ) and σa+1,s (R2 ) requires solving an equation l0 Ns (R1 ) + r0 Ns (R2 ) = g
in k[T ]. Such an equation has a unique solution if and only if the gcd of the Newton
polynomials Ns (R1 ) and Ns (R2 ) is 1. So a possible factorization R = R1 R2 cannot be a
coprime index 1 factorization, which proves statement 2.
Suppose f = LR is a monic factorization satisfying statement 2. Now we need to show
that the algorithm finds this factorization. R can have only one slope s, otherwise it could
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 13
be factored by the given algorithm (which contradicts the assumption that statement 2
holds). First consider the case s = 0. Then Ns (R) must be an irreducible polynomial,
otherwise R can be factored by the algorithm. So Ns (R) must be an element of the set M
in the algorithm. It cannot be an element of {g | g(T ) = h(T + i), h ∈ M, i ∈ N, i > 0}
because then gcd(ST =T +a (L0 ), R0 ) = 1 does not hold for all a ≥ 1 which was shown to be
a necessary and sufficient condition for having coprime index 1 if s = 0. So Ns (R) ∈ N .
This means that σ1,s (R) and hence also σ1,s (L) are the same as σ1,s (R1 ) and σ1,s (L1 ) for
a factorization L1 , R1 of f given by the algorithm. Because the coprime index is 1 this
factorization L1 , R1 is completely determined by σ1,s (R1 ), σ1,s (L1 ) and f . Hence these
two factorizations L1 R1 and LR are the same and so the third statement holds. In the
same way the case s > 0 is proven. 2
Remark 5.1. The given method can also be applied for factorization in the ring L[δ]
where L is a finite extension of k((x)), because:
Consider again the example f in Section 3.4 and let k = Q. The given algorithm
produces a right-hand factor R1 with slope 0, order 1 and Newton polynomial T , a right-
hand factor R2 with slope 1/2, order 2 and polynomial T − 1, a right-hand factor R3
with slope 1/2, order 2 and polynomial T − 2 and a right-hand factor R4 with slope 1,
order 4 and Newton polynomial (T 2 + T + 1)2 . Now R1 , R2 and R3 are irreducible
in Q((x))[δ] because their Newton polynomials are irreducible. But it is not yet clear
whether R4 is irreducible or not. The second example in section 1 remains unfactored as
well. Reducible operators f that remain unfactored by the given factorization algorithm
are of the following form: f has one slope s > 0 and Ns (f ) is a power > 1 of an irreducible
polynomial. The given algorithm will compute only a trivial factorization L = 1, R = f
for this case. If such an operator is reducible then a factorization must have coprime index
> 1. In Section 6 the notion of exponential parts will be introduced. Using exponential
parts a description of the irreducible elements of k((x))[δ] will be given.
If f has one slope s > 0, s ∈ N and the Newton polynomial is a power of a polynomial
of degree 1, then compute Scx−s (f ) where c is the root of the Newton polynomial (see
also case 4 of the algorithm in Section 5.1). Then apply the factorization algorithm to
Scx−s (f ) and find a factorization of f by applying S−cx−s to the factors of Scx−s (f ). For
all other cases (i.e. s 6∈ N or degree(Ns (f )) > 1) we apply the method in Section 7. The
factorization obtained that way lifts rather slowly, i.e. it costs much time to compute
more terms. The lifting will be speeded up using the lift method of Section 4 whenever
that is possible (when its output is not the message “failed”).
A differential operator can have infinitely many different factorizations. For example ∂ 2
which equals 1/x2 times δ 2 −δ has ax+b as solutions, where a and b are constants. Hence
it has ∂ − (ax + b)0 /(ax + b) = ∂ − a/(ax + b) as right-hand factors. Note that algorithm
coprime index 1 factorizations produces only a finite number of different factorizations. In
the semi-regular case (cf. Section 3.4) it computes only one unique factorization, although
like the example ∂ 2 shows other factorizations could exist as well.
14 M. van Hoeij
polynomial of degree 1, then write s = n/d with gcd(n, d) = 1, n > 0. Now we will
apply a ramification of index d. Instead of extending the field k((x)) we apply the
isomorphism θa,d : k((r))[δ] → k((x))[δ] of Section 3.2. First we need to compute
a suitable value a ∈ k. θa,d (x) = θa,d (rd /a) = xd /a. Write the Newton polynomial
of f as (T − c)e , where c ∈ k and e ∈ N. Then the Newton polynomial of θa,d (f )
equals a constant times (T d − dd can )e . Now choose a equal to cp , p ∈ Z, such that
dd can is a dth power of an element b ∈ k. This is done by choosing p such that pn+1
is a multiple of d. Then the Newton polynomial (T d − dd can )e equals (T d − bd )e
and can be factored as (T − b)e g e with gcd((T − b)e , g e ) = 1. Now use a coprime
index 1 factorization as in Section 5 with (T − b)e as Newton polynomial for the
right-hand factor. This provides a right-hand factor R of order e = order(f )/d. Now
−1
use recursion on R to find a first order factor and apply θa,d .
Note that there are two cases where a field extension of k((x)) is applied. One case
was an extension of k of degree d, and the other case was a ramification of index d. Both
these cases were extensions of k((x)) of degree d. In both cases the algorithm finds a
right-hand factor of order order(f )/d over this algebraic extension. In the three other
cases field extensions were not needed. We can conclude
Lemma 5.1. Every f ∈ k((x))[δ] has a Riccati solution which is algebraic over k((x)) of
degree ≤ order(f ).
6. Exponential Parts
A commutative invariant is a map φ from k((x))[δ] to some set such that φ(f g) = φ(gf )
for all f, g ∈ k((x))[δ]. An example is the Newton polygon, i.e. N (f g) = N (gf ) for
all non-zero f and g. However, there are more properties of differential operators that
remain invariant under changing the order of multiplication. We want a commutative
invariant which contains as much information as possible. Sommeling (1993) defines
normalized eigenvalues and characteristic classes for matrix differential operators. The
topic of this section is the analogue of normalized eigenvalues for differential operators in
k((x))[δ]. We will call these exponential parts. The exponential parts are useful for several
topics. They appear as an exponential integral in the formal solutions (this explains the
name exponential part). They describe precisely the algebraic extensions over k((x))
needed to find the formal solutions. The exponential parts are also used in our method
of factorization in the ring k(x)[∂] in van Hoeij (1996, chapter 3). For factorization in
k((x))[δ] the exponential parts will be used to describe the irreducible elements (cf.
Theorem 6.2).
Differential operators (in this paper that means elements of k((x))[δ] or k((x))[δ]) can
be viewed as a special case of matrix differential operators. So our definition of exponential
parts could be viewed as a special case of the definition of normalized eigenvalues in
Sommeling (1993). A reason for giving a different definition is that the tools for computing
with matrix differential operators are not the same as for differential operators. Important
tools for matrix differential operators are the splitting lemma and the Moser algorithm.
The tools we use for differential operators are the substitution map and the Newton
polynomial. That is why we want to have a definition of exponential parts expressed
in these tools. Because then the definition allows the computation of exponential parts
using a variant of the “algorithm Riccati solution”, namely the “algorithm semi-regular
16 M. van Hoeij
parts” in Section 8.4. A second reason for our approach is that it allows the definition of
semi-regular parts of differential operators.
Let L be a finite extension of k((x)). Since L ⊂ k((x1/n )) for some integer n we can
write every r ∈ L as r = e + t with e ∈ E and t ∈ x1/n k[[x1/n ]]. Now e is called the
principal part pp(r) of r ∈ L. Using the following lemma we can conclude e ∈ k((x))[r] ⊂
L.
Lemma 6.1. Let n ∈ Q and r ∈ k((x)) be equal to rn xn plus higher-order terms. Then
rn xn is an element of the field k((x))[r].
Definition 6.1. Let f ∈ k((x))[δ], e ∈ E and n = ram(e). Let P = N0 (Se (f )), the New-
ton polynomial corresponding to slope 0 in the Newton polygon of Se (f ) ∈ k((x1/n ))[δ].
Now µe (f ) is defined as the number of roots (counted with multiplicity) of P in n1 Z and
µe (f ) is defined as the number of roots (counted with multiplicity) of P in Q.
Recall that ram(e) denotes the ramification index of e. Note that we have only defined
the Newton polynomial for elements of k((x))[δ], P not for ramifications of k((x)). Define
N0 (f ) for f ∈ k((x1/n ))[δ] as follows. Write f = i xi/n fi with fi ∈ k[δ]. Then N0 (f )
is (written as a polynomial in δ instead of T ) defined as fi where i is minimal such that
fi 6= 0.
We define an equivalence ∼ on E as follows: e1 ∼ e2 if e1 − e2 ∈ n1 Z where n is the
ramification index of e1 . Note that the ramification indices of e1 and e2 are the same if
e1 − e2 ∈ Q. If e1 ∼ e2 then µe1 (f ) = µe2 (f ) for all f ∈ k((x))[δ] so we can define µe for
e ∈ E/∼. Similarly µe (f ) is defined for e ∈ E/Q.
Definition 6.2. The exponential parts of an operator f ∈ k((x))[δ] are the elements
e ∈ E/∼ for which µe (f ) > 0. The number µe (f ) is the multiplicity of e in f .
Lemma 6.2. Let f = LR where f , L and R are elements of k((x1/n ))[δ]. Let Nf be the
number of roots of N0 (f ) in n1 Z, counted with multiplicity. Similarly define NL and NR .
Then Nf = NL + NR .
The proof of this lemma is not difficult; we will skip it. Note that if n = 1 then Nf =
µ0 (f ).
nZ
1
Proof. If n is the ramification index of e, then µe (f ) is the number of roots in of
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 17
N0 (Se (f )). Now the first statement follows using the previous lemma and the fact that
Se (f ) = Se (L)Se (R). The proof for µ is similar. 2
Theorem 6.1. Let f be a non-zero element of k((x))[δ], then the sum of the multiplic-
ities of all exponential parts is:
X
µe (f ) = order(f ).
e∈E/∼
Proof. If order(f ) = 1 then both statements hold. If f is reducible then we can use
induction and Lemma 6.3 so then both statements hold. In k((x))[δ] every operator of
order > 1 is reducible (see also the algorithm in Section 5.1 which computes a first-order
right-hand factor in k((x))[δ]) so the second statement holds.
To prove the first statement we need to show that the sum of the multiplicities is the
same for µ over all e ∈ E/∼ and µ over all e ∈ E/Q. Suppose e is an element of E/Q. The
sum of µe (f ) taken over all e ∈ E/∼ such that e ≡ e mod Q is equal to µe (f ) because
they are both equal to the number of rational roots of the same Newton polynomial. So
we can see that the sum of the multiplicities µ is the same as sum of the multiplicities µ
by grouping together those exponential parts of f that are congruent modulo Q. 2
An operator f ∈ k((x))[δ] is called semi-regular over k((x)) if f has only one exponen-
tial part which is equal to 0 ∈ E/∼. A semi-regular operator is a regular singular operator
with only integer roots of the Newton polynomial. In other words µ0 (f ) = order(f ). An
operator f ∈ k((x))[δ] = k((x))[∂] is regular (or: non-singular) if f can be written as
a product of an element of k((x)) and a monic element of k[[x]][∂]. A regular operator
is regular singular and the roots of the Newton polynomial are 0, 1, . . . , order(f ) − 1.
So a regular operator is semi-regular. We can generalize the notion of semi-regular for
algebraic extensions k((x)) ⊂ L.
Definition 6.3. f ∈ L[δ] is called semi-regular over L if it is regular singular and all
roots of N0 (f ) are integers divided by the ramification index of L.
Definition 6.4. Let f ∈ k((x))[δ]. Then the semi-regular part Re of f for e ∈ E is the
monic right-hand factor in k((x))[e, δ] of Se (f ) of order µe (f ) which is semi-regular over
k((x))[e].
of N0 (Se (f )) for which all roots are integers divided by the ramification index. Since
such coprime index 1 factorizations for a given Newton polynomial are unique (see the
comments after algorithm coprime index 1 factorizations) it follows that Re is uniquely
defined. Note that if the ramification index n is > 1 then in fact our algorithm does
not compute with Se (f ) but with θa,n (Se (f )) for some constant a (cf. the remark in
Section 5.1). Then we have to compute the highest-order factor of θa,n (Se (f )) of which
the roots of the Newton polynomial are integers, instead of integers divided by n.
S−e (Re ) is a right-hand factor of f . Note that if e1 ∼ e2 then S−e1 (Re1 ) = S−e2 (Re2 ).
Hence the operators S−e1 (Re1 ), . . . , S−ep (Rep ) in the following lemma are up to a per-
mutation uniquely determined by f .
Proof. Let R = LCLM(S−e1 (Re1 ), . . . , S−ep (Rep )). Conjugation over k((x)) only per-
mutes S−e1 (Re1 ), . . . , S−ep (Rep ). Hence R is invariant under conjugation over k((x)) and
so R ∈ k((x))[δ]. S−ei (Rei ) is a right-hand factor of R, so Rei is a right-hand factor of
Sei (R). So N0 (Rei ) is a factor of N0 (Sei (R)), hence µei (R) ≥ degree(N0 (Rei )) = µei (f )
because all roots of N0 (Rei ) are integers divided by the ramification index. Then by
Theorem 6.1 we can conclude order(R) ≥ order(f ). R is a right-hand factor of f because
the S−ei (Rei ) are right-hand factors of f . Hence f = R. 2
because the order of an operator is equal to the dimension of the solution space, and
the solution space of LCLM(f1 , . . . , fn ) is spanned by the solutions of f1 , . . . , fn . So
order(R) ≤ d. Since µei (R) = µe1 (R) > 0 for all i = 1, . . . , d we can conclude by
Theorem 6.1 that order(R) ≥ d if all ei represent different exponential parts. For this
we must prove ei − ej 6∈ Q if i 6= j. Suppose ei − ej ∈ Q. We now have to prove
that ei = ej . The Galois group G of k((x))[e1 , . . . , ed ] over k((x)) acts transitively on
e1 , . . . , ed . Hence γ(ei ) = ej for some γ ∈ G. If γ(ei ) = ei + (ej − ei ) where (ej − ei ) ∈ Q
then γ #G (ei ) = ei + (#G)(ej − ei ). Here #G denotes the number of elements of G.
However, for any finite group G and element γ ∈ G the equation γ #G = 1 holds so
γ #G (ei ) = ei . Hence (#G)(ej − ei ) = 0 and ei = ej . Now we can conclude order(R) = d.
We have partly proven the following.
Theorem 6.2. f ∈ k((x))[δ] has an exponential part e which is algebraic over k((x))
of degree d if and only if f has an irreducible right-hand factor R ∈ k((x))[δ] of order d.
Proof. Given an exponential part of degree d over k((x)) we have already shown how
to construct R as LCLM(δ − re1 , . . . , δ − red ). Now we must show that R is irreducible in
k((x))[δ]. Suppose R has a non-trivial right-hand factor R1 of order d1 < d. By induction
we can conclude that R1 has an exponential part e which is algebraic over k((x)) of
degree d1 . Lemma 6.3 shows that e is an exponential part of R. Then e, e1 , . . . , ed are
d + 1 different exponential parts of R contradicting Theorem 6.1. So R is irreducible.
20 M. van Hoeij
Example 7.1.
2 2 9 1
f = δ 4 + 2δ 3 − δ + + ∈ k((x))[δ].
x 4x x2
√
The exponential parts are e1 = √1x + 2−1 in E/∼ and the conjugates e2 , e3 , e4 of e1 over
√
Q((x)). If −1 6∈ k then e1 is algebraic
√ of degree 4 over k((x)) and then f is irreducible
in k((x))[δ]. Now assume that −1 ∈ k. Then e is algebraic of degree 2 over k((x)) and
hence f has an irreducible right-hand factor R ∈ k((x))[δ] of order 2. To e1 corresponds
the following right-hand factor in k((x))
√ √ √
−1/2 −1 0 27 3 −1 1/2 1587 4141 −1 1
r =δ−x − x + − − x + + x + ···.
2 80 40 12800 12800
Write R = δ 2 + a1 δ + a0 where a0 , a1 ∈ k((x)) are to be determined. Dividing R by r
results in a remainder of the form a0 b0,0 + a1 b0,1 + b0,2 + x1/2 (a0 b1,0 + a1 b1,1 + b1,2 ) for
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 21
some bi,j ∈ k((x)). By equating this to zero, the following linear equations are obtained:
a0 bi,0 + a1 bi,1 + bi,2 = 0, i = 1, 2. Solving these equations over k((x)) gives
√
1 √ 573 3661 −1 1
R=δ + 2
− −1 x + − 0
+ x + · · · δ1
2 6400 6400
√ √
−1 2 −1 37 0 12291 −1 48663 1
+ −x + − − x + − + x + · · · δ0 .
5 40 64000 64000
It is not efficient to compute many coefficients of a0 , a1 in this way. It suffices to deter-
mine R in this way up to accuracy 2 (i.e. to determine the coefficient of x0 in a1 and the
coefficient of x−1 in a0 ). Then the higher terms can be computed more efficiently by the
lift algorithm in Section 4.
the S−ei (Rei ) are uniquely determined. Furthermore a unique basis of solutions for semi-
regular operators was defined in the previous section. As a consequence, the basis of
solutions obtained in this way is uniquely defined. We will call this basis the canonical
basis of solutions.
For a solution in the form (8.1) si,j is called the semi-regular part of (8.1) and ei is
called the exponential part of (8.1). The exponential part of (8.1) is an exponential part of
the operator as well. The semi-regular part si,j is a solution of the semi-regular part Rei .
Note that from a given y in the form (8.1), ei can be determined modulo ∼ (without
further restrictions on si,j one cannot determine ei ∈ E from y because when replacing
for example ei by ei − 1 and si,j by x · si,j in y we obtain an equivalent expression).
A few introductory comments on the next section. Every f ∈ k((x))[δ] is an element
of some L[δ] where L is a finite extension of k((x)). By a suitable transformation θa,d
as in the remark in Section 5.1 the problem of finding solutions of f can be reduced to
finding solutions of an operator θa,d (f ) ∈ l((x))[δ]. The solutions of f can be obtained
from the solutions of θa,d (f ). But the elements of the basis of solutions that we find for
f are not necessarily in the form (8.1) (in other words: are not necessarily an element of
some Ve ) but are element of some V e , definitions follow in the next section.
√ √
Example 8.1. δ − x/(2 + 2 x). Apply θ1,2 to obtain 12 δ − 12 x/(1 + x). A basis for
the solutions is 1 + x. This is of the √ form (8.1) with e = 0. Now apply an inverse
transformation to find the solution 1 + x of f . This is not of the form (8.1) but it is a
sum of two terms of the form (8.1), one with e = 0 L and one with e = 1/2. This example
shows that the direct sum decomposition V (f ) = Ve (f ) in theorem 8.1 in the next
section which holds for f ∈ k((x))[δ] need not hold for f ∈ k((x))[δ]. For f ∈ k((x))[δ] a
less precise statement is given in Theorem 8.1, corresponding to the less precise version µ
of exponential parts.
Note that k · k((x))[e] = k · k((x1/n )) where n = ram(e). The reason for writing
k · k((x1/n )) instead of k((x1/n )) is that in general (namely if k 6= k) the field k((x1/n ))
is not a subfield of k((x)).
where the sum is taken over all e ∈ E/∼. For non-zero f ∈ k((x))[δ]
M
V (f ) = V e (f ) and dim(V e (f )) = µe (f )
e
This theorem enables us to give an alternative definition of exponential parts and their
multiplicities µe (f ) in terms of the solution space of f .
Proof. Let f ∈ k((x))[δ]. Each element of the basis of solutions in the previous T section
is an element of some Ve where e is an exponential part of f . So the sum of the Ve V (f )
contains a complete basis of solutions of f . In this basis of solutions, µe (f ) elements are
in the form (8.1), i.e. µe (f ) elements are in Ve (f ). Hence
X
V (f ) = Ve (f ) and dim(Ve (f )) ≥ µe (f )
e
where the sum is taken over all exponential parts of f . It follows from P the following
Lemma
P 8.1 that this is a direct sum. Then order(f ) = dim(V (f )) = e dim(Ve (f )) ≥
µ
e e (f ) = order(f ) hence the ≥ must be an equality. The second statement follows in
the same way. 2
Lemma 8.1.
M M
V = Ve and V = Ve
e∈E/∼ e∈E/Q
L
Proof. Let n ∈ N. Then k((x)) = q Exp(q) · (k · k((x1/n ))) where the sum is taken
over all q ∈ Q with 0 ≤ q < 1/n. So for e ∈ E/Q
M
Ve = Ve
e
where the sum is taken over all e ∈ E/∼ such that e = e mod Q. This reduces the first
direct sum to the second one. Because of the relations Exp(e1 ) Exp(e2 ) = Exp(e1 + e2 )
every
P element of V can be written as a polynomial in the Exp(e) of degree 1. So V =
e V e . We will show that this is a direct sum which finishes the proof of this lemma.
Lemma 8.2. Let b ∈ k((x1/n ))(log(x)). Suppose that the logarithmic derivative c = xb0 /b
is an element of k((x)). Then c ∈ n1 Z + x1/n · k[[x1/n ]].
x(p0l qm − qm 0
pl ) log(x)l+m + · · ·
= ∈ k((x)).
pl qm log(x)l+m + · · ·
Then x(p0l qm − qm
0
pl )/(pl qm ) must be the same element c of k((x)). Write r = pl /qm ∈
k((x )). Then c = x(p0l qm − qm
1/n 0
pl )/(pl qm ) = xr0 /r ∈ n1 Z + x1/n · k[[x1/n ]]. 2
• f = LCLM(f1 , . . . , fd )
• If e ∈ E/∼ and µe (f ) > 0 then there is precisely one fi such that Ve (f ) ⊂ V (fi ).
• For this e and fi the semi-regular part Re of f is the semi-regular part of fi as well.
Proof. Using the previous lemma, the fact that the fi have no exponential P part in com-
mon, and Theorem 6.1, we can conclude that order(LCLM(f1 , . . . , fd )) = order(fi ),
and this equals order(f ) by the assumption in this lemma. Since all fi , and hence this
LCLM, are right-hand factors of f the first statement follows. If e is an exponential part
of f then for precisely one i we have µe (fi ) > 0. Then µe (fi ) = µe (f ) because of the
previous lemma and because the µe of the other fj are zero. For the second statement
note that Ve (fi ) ⊂ Ve (f ), because fi is a right-hand factor of f . Since µe (fi ) = µe (f )
the dimensions are the same. Hence Ve (f ) = Ve (fi ) ⊂ V (fi ). The third statement follows
because V (S−e (Re )) = Ve (f ) ⊂ V (fi ), hence S−e (Re ) is a right-hand factor of fi and
so Re is a right-hand factor of Se (fi ). 2
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 25
Lemma 8.5. Let f, g ∈ k((x))[δ] and suppose gcd(Ns (f ), Ns (g)) = 1 holds for all s ∈ Q,
s > 0. Suppose gcd(Ns (f ), ST =T +n (Ns (g))) = 1 holds for s = 0 and all n ∈ Z. Then f
and g have no exponential parts in common.
Proof. For every exponential part e of f there exists a Riccati solution re of f such
that e is the principal part of re modulo ∼, cf. Section 6.2. Now the proof follows from
the next lemma. 2
Now we can write algorithm LCLM factorization as follows. Take algorithm coprime
index 1 factorizations in Section 5. Replace the lines
if s = 0 then
M := {g1 , . . . , gr }
N := M \ {g | g(T ) = h(T + i), h ∈ M, i ∈ N, i > 0}
else
by the lines
if s = 0 then
M := {g1 , . . . , gr }
M 0 := M \ {g | g(T ) = h(T + i), h ∈ M, i ∈ N, i > 0}
M 00 := Q
{{n | ∃i∈Z gn (T + i) = h} | h ∈ M 0 }
N := { i∈h giei | h ∈ M 00 }
else
The resulting algorithm produces a number of factorizations. The sum of the or-
ders of the right-hand factors is equal to the order of f . The different right-hand fac-
tors f1 , . . . , fd have no exponential parts in common because of Lemma 8.5. Hence
f = LCLM(f1 , . . . , fd ). This variant on the algorithm in section 5 produces an LCLM
factorization, i.e. it produces a number of right-hand factors f1 , . . . , fd such that f =
LCLM(f1 , . . . , fd ). The orders of the fi need not be minimal because we only apply the
“easy” (i.e. coprime index 1) factorization method.
26 M. van Hoeij
1. Same as case 1 in the algorithm Riccati solution. This is also a special case of 6
below after a suitable substitution map Se .
2. If algorithm LCLM factorization produces a non-trivial (i.e. d > 1) LCLM fac-
torization f = LCLM(f1 , . . . , fd ) then apply recursion to the right-hand factors
f1 , . . . , fd .
3. If the condition of case 3 in the algorithm Riccati solution holds, and furthermore
the slope of f is non-zero, then proceed as in case 3 in the algorithm Riccati solution;
apply recursion to the right-hand factor.
4. Same as case 4 in the algorithm Riccati solution, apply recursion to Scx−s (f ).
5. Same as case 5 in the algorithm Riccati solution, apply recursion on R.
6. If f has one slope s = 0 and the Newton polynomial has the following form Ns (f ) =
g·ST =T +i1 (g) · · · ST =T +in (g) where n ≥ 0 and ij are integers, and g is an irreducible
polynomial. Let r ∈ k be a root of g. Extend the field k with r (note that g can
have degree 1 in which case r ∈ k). Define h = T · (T + i1 ) · · · (T + in ). This is the
largest factor of N0 (Sr (f )) which has only integer roots. Now use a coprime index 1
factorization (cf. algorithm coprime index 1 factorizations in Section 5) to compute
a right-hand factor R of Sr (f ) that has Newton polynomial h.
The right-hand factors R that this algorithm produces in case 6 are the semi-regular
parts of f (actually such R is an image of a semi-regular part under certain maps θa,d
that were used in case 5). The corresponding exponential parts are obtained by keeping
track of the substitution maps Se and ramification maps θa,d that were performed. The
recursion in case 2 of the algorithm is valid because of Lemma 8.4.
In cases 3 and 5 of the algorithm a field extension over k((x)) is applied (also in case 6
if degree(g) > 1 but the argument is almost the same for this case). Suppose the degree
of this field extension is d. Then the algorithm computes a right-hand factor f1 of f and
uses recursion on this right-hand factor. Let f1 , . . . , fd ∈ L[δ] be the conjugates of f1 over
k((x)) where L is some finite extension of k((x)). Lemmas 8.5 and 8.4 were formulated
for k((x))[δ] instead of L[δ], but they are still applicable when using the less precise
notion of exponential parts µ. We must replace the condition “for all n ∈ Z” by “for all
n ∈ Q” in Lemma 8.5 in order for this lemma to hold for the case of µ instead of µ. So
our algorithm would produce all exponential parts and semi-regular parts if we would
use recursion on not only f1 but also on f2 , . . . , fd . However, this could introduce very
large algebraic field extensions (worst-case d factorial) which could make the algorithm
too slow to be useful. If we would use recursion on f2 , . . . , fd we will only find conjugates
of the exponential parts and semi-regular parts that are obtained from f1 . So there is no
need to do the recursion on f2 , . . . , fd because the result of that computation can also
be obtained as the conjugates (which are not computed, however) of the output of the
recursion on f1 .
Algorithm formal solutions.
Input. f ∈ k((x))[δ].
Output. A basis of solutions, up to conjugation over k((x)).
Step 1. This is the main step: apply algorithm semi-regular parts.
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 27
Our method for computing formal solutions cannot avoid the use of field extensions
over k((x)) because these field extensions appear in the output. It does, however, delay the
use of algebraic extensions as long as possible. The use of algorithm LCLM factorization
reduces the problem of finding solutions of f to operators of smaller order. This way the
order of the operator is as small as possible at the moment that an algebraic extension
is introduced, and so the amount of computation in algebraic extensions is minimized.
Lazy evaluation is used to minimize the number of operations in the field of constants.
Example 9.1. Let log(x) be a basis of W . Now there cannot be any f ∈ k((x))[δ] such
that W = V (f ). Because then Slog (log(x)) would be a solution of Slog (f ) = f . So f
has log(x) and Slog (log(x)) − log(x) = 1 as solutions. Hence the dimension of V (f ) is at
least 2.
Proof. Let f ∈ k((x))[δ] be semi-regular. Then it follows from Section 8.1 that V (f )
has a basis of solutions in k((x))[log(x)]. Furthermore Slog (V (f )) = V (Slog (f )) = V (f ).
Now suppose Slog (W ) = W and suppose b1 , . . . , bn ∈ k((x))[log(x)] is a basis of W as
a k-vector space. We want to construct a semi-regular operator f such that V (f ) = W .
Let b be an element of W of minimal degree d as a polynomial in log(x). Suppose d > 0.
Then Slog (b) − b ∈ W has degree d − 1 which contradicts the minimality of d. Hence
d = 0, so b is an element of k · k((x)). Then b ∈ l · k((x)) where l is some finite extension
of k. After multiplication by a constant we may assume that one of the coefficients of b
is 1. Then, by taking the trace over the field extension k ⊂ l, we may assume b ∈ k((x))
and b ∈ W (use here that W has a basis of elements in k((x))[log(x)], hence the trace
over k of an element b ∈ W is an element of W ). Now b 6= 0 because the trace of the
coefficient 1 is not 0. Because b ∈ V (f ) for the operator f that we want to construct
it follows that R = δ − xb0 /b must be a right-hand factor of f . This operator R is a
k-linear map from V to V . The kernel is the solution space of R and it has dimension 1.
Because the kernel is a subspace of W it follows that dim(R(W )) = n − 1. It is easy
to check that R(W ) satisfies the conditions of this lemma, hence by induction there is
a semi-regular operator L ∈ k((x))[δ] such that V (L) = R(W ). Now define f = LR.
This is a semi-regular operator in k((x))[δ] because L, R ∈ k((x))[δ] are semi-regular.
f (W ) = L(R(W )) = {0} and dim(W ) = order(f ) so V (f ) = W . 2
From the remark in Section 5.1 it follows that the lemma is also valid when k((x)) is
replaced by a finite extension L of k((x)).
Proof. If f ∈ k((x))[δ] is regular it is known by the Cauchy theorem that there exists
a basis b1 , . . . , bn ∈ k[[x]] of solutions such that bi is xi−1 modulo xn . It is easy to
compute these bi as follows. The equation f (bi ) = 0 (writing f as an element of k[[x]][∂]
is more convenient for this) gives a linear equation in the coefficient of xn in bi , a linear
equation for the coefficient of xn+1 , etc. From these equations the coefficients of bi can
be computed.
To prove the reverse statement let b1 , . . . , bn ∈ k[[x]] be a basis of W and suppose
that all non-zero elements of W have valuation (i.e. the smallest exponent of x which
has a non-zero coefficient) smaller than n. Then, after a basis transformation, we may
assume that bi is xi−1 modulo xn . Now define R1 ∈ k[[x]][∂] as R1 = ∂ − b01 /b1 . Define
for 1 ≤ d < n the operator Rd+1 ∈ k[[x]][∂] as follows: define yd+1 = Rd (bd+1 ). Note that
0
v(Ri (bd+1 )) = d − i for 1 ≤ i ≤ d. So v(yd+1 ) = 0 and hence ∂ − yd+1 /yd+1 ∈ k[[x]][∂].
0
Now define Rd+1 = (∂ − yd+1 /yd+1 )Rd . Now f = Rn is a monic element of k[[x]][∂],
hence regular, with V (f ) = W . 2
From the lemma we see that right-hand factors of regular operators need not be regular.
Suppose for example that 1, x, x2 is a basis of solutions of f . Then the right-hand factor
given by the basis of solutions 1, x2 is not regular. But the right-hand factor with the
Formal Solutions and Factorization of Differential Operators with Power Series Coefficients 29
References
Barkatou, M.A. (1988). Rational Newton Algorithm for computing formal solutions of linear differential
—
equations, Proceedings of ISSAC’88, ACM Press.
30 M. van Hoeij