This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Efficient Algorithms for Computing Rational First Integrals and Darboux Polynomials of Planar Polynomial Vector Fields

Alin Bostan Alin Bostan: INRIA Saclay Île-de-France, Bâtiment Alan Turing
1 rue Honoré d’Estienne d’Orves
91120 Palaiseau, France
alin.bostan@inria.fr
Guillaume Chèze Guillaume Chèze: Institut de Mathématiques de Toulouse
Université Paul Sabatier Toulouse 3
MIP Bât. 1R3
31 062 TOULOUSE cedex 9, France
guillaume.cheze@math.univ-toulouse.fr
Thomas Cluzeau Thomas Cluzeau: Université de Limoges ; CNRS ; XLIM UMR 7252 ; DMI
123 avenue Albert Thomas
87 060 LIMOGES cedex, France
cluzeau@ensil.unilim.fr
 and  Jacques-Arthur Weil Jacques-Arthur Weil: Université de Limoges ; CNRS ; XLIM UMR 7252 ; DMI
123 avenue Albert Thomas
87 060 LIMOGES cedex, France
jacques-arthur.weil@unilim.fr
(Date: September 13, 2025; Date: September 13, 2025)
Abstract.

We present fast algorithms for computing rational first integrals with bounded degree of a planar polynomial vector field. Our approach is inspired by an idea of Ferragut and Giacomini ([FG10]). We improve upon their work by proving that rational first integrals can be computed via systems of linear equations instead of systems of quadratic equations. The main ingredients of our algorithms are the calculation of a power series solution of a first order differential equation and the reconstruction of a bivariate polynomial annihilating a power series. This leads to a probabilistic algorithm with arithmetic complexity 𝒪~(N2ω)\tilde{\mathcal{O}}(N^{2\omega}) and to a deterministic algorithm solving the problem in 𝒪~(d2N2ω+1)\tilde{\mathcal{O}}(d^{2}N^{2\omega+1}) arithmetic operations, where NN denotes the given bound for the degree of the rational first integral, and where dNd\leq N is the degree of the vector field, and ω\omega the exponent of linear algebra. We also provide a fast heuristic variant which computes a rational first integral, or fails, in 𝒪~(Nω+2)\tilde{\mathcal{O}}(N^{\omega+2}) arithmetic operations. By comparison, the best previous algorithm given in [Chè11] uses at least dω+1N4ω+4d^{\omega+1}\,N^{4\omega+4} arithmetic operations. We then show how to apply a similar method to the computation of Darboux polynomials. The algorithms are implemented in a Maple package RationalFirstIntegrals which is available to interested readers with examples showing its efficiency.

1. Introduction

Context

Let 𝕂{\mathbb{K}} denote an effective field of characteristic zero, i.e, one can perform arithmetic operations and test equality of two elements (typically, 𝕂={\mathbb{K}}={\mathbb{Q}} or (α){\mathbb{Q}}(\alpha), where α\alpha is an algebraic number). Given two polynomials A,BA,\,B in 𝕂[x,y]{\mathbb{K}}[x,y], we consider the planar polynomial vector field

(𝖲\mathsf{S}) {x˙=A(x,y),y˙=B(x,y),\quad\left\{\begin{array}[]{rcl}\dot{x}&=&A(x,y),\\ \dot{y}&=&B(x,y),\end{array}\right.

and discuss the problem of computing rational first integrals of (𝖲\mathsf{S}), i.e., rational functions F𝕂(x,y)𝕂F\in{\mathbb{K}}(x,y)\setminus{\mathbb{K}} that are constant along the solutions (x(t),y(t))(x(t),y(t)) of (𝖲\mathsf{S}). More precisely, the present article is concerned with the following algorithmic problem:

(𝒫N)({\mathcal{P}}_{N}): given a degree bound NN\in{\mathbb{N}}, either compute a rational first integral F𝕂(x,y)𝕂F\in{\mathbb{K}}(x,y)\setminus{\mathbb{K}} of (𝖲\mathsf{S}) of total degree at most NN, or prove that no such FF exists.

This old problem was already studied by Darboux in 1878 ([Dar78]) and has been the subject of numerous works ever since. The naive approach (by indeterminate coefficients) leads to a polynomial system of quadratic equations in the coefficients of FF. Other methods use what is called nowadays Darboux polynomials, in the spirit of the celebrated Prelle-Singer’s method [PS83]; see Subsection 2.3 for a review. These methods also require solving a polynomial system of quadratic equations. Recently, Chèze [Chè11] has shown that problem (𝒫N)(\mathcal{P}_{N}) can be solved in polynomial time in NN. The importance of this result is mainly theoretical since the exponent in the polynomial complexity estimate is bigger than 10.

To improve upon this current state of affairs, our starting point is the article [FG10] of Ferragut and Giacomini. The key observation is that (𝖲\mathsf{S}) has a rational first integral if and only if all power series solutions in 𝕂[[x]]{\mathbb{K}}[[x]] of the first order non-linear differential equation

(𝖤\mathsf{E}) dydx=B(x,y)A(x,y)\quad\frac{dy}{dx}=\frac{B(x,y)}{A(x,y)}

are algebraic over 𝕂(x){\mathbb{K}}(x). Furthermore, minimal polynomials of these algebraic power series lead to rational first integrals.

The algorithm in [FG10] still involves solving a polynomial system of quadratic equations. Indeed, the key observation above is merely used to reduce the number of equations in the quadratic system provided by the naive approach.

Our main contributions

In the present article, we push further the observation of Ferragut and Giacomini, so as to give fast algorithms solving Problem (𝒫N)({\mathcal{P}}_{N}). In particular, we prove that this can be done by considering only systems of linear equations instead of systems of quadratic equations.

We design a probabilistic algorithm that uses 𝒪~(N2ω)\tilde{\mathcal{O}}(N^{2\omega}) arithmetic operations in 𝕂{\mathbb{K}}, where ω[2,3]\omega\in[2,3] is the exponent of linear algebra over 𝕂{\mathbb{K}}, and the soft-O notation 𝒪~()\tilde{\mathcal{O}}(\,) indicates that polylogarithmic factors are neglected. The probabilistic algorithm is then turned into a deterministic one, that solves Problem (𝒫N)({\mathcal{P}}_{N}) in arithmetic complexity 𝒪~(d2N2ω+1)\tilde{\mathcal{O}}(d^{2}\,N^{2\omega+1}), where d=max(deg(A),deg(B))d=\max(\deg(A),\deg(B)) denotes the degree of the polynomial vector field (𝖲\mathsf{S}). This compares well to the previous polynomial time algorithm given in [Chè11], which uses at least dω+1N4ω+4d^{\omega+1}N^{4\omega+4} arithmetic operations. Note that if we take ω=3\omega=3 (i.e., the cost of naive linear algebra), then the above means that the best previously known complexity would be in 𝒪~(d4N16)\tilde{\mathcal{O}}(d^{4}N^{16}) whereas our deterministic algorithm would use at most 𝒪~(d2N7)\tilde{\mathcal{O}}(d^{2}N^{7}) arithmetic operations, and our probabilistic one would use 𝒪~(N6)\tilde{\mathcal{O}}(N^{6}). Lastly, we sketch a heuristic method that uses 𝒪~(Nω+2)\tilde{\mathcal{O}}(N^{\omega+2}) arithmetic operations (i.e., 𝒪~(N5)\tilde{\mathcal{O}}(N^{5}) using classical linear algebra) which is sub-cubic, given that the output has size 𝒪(N2)\mathcal{O}(N^{2}).

We provide algorithmic details, notably precise degree bounds and complexity estimates. The algorithms developed in the article are implemented in a Maple package called RationalFirstIntegrals which is available with various examples at http://www.ensil.unilim.fr/~cluzeau/RationalFirstIntegrals.html. Using this implementation, we demonstrate the efficiency of our algorithms on some examples. Finally, we show how to apply a similar method to the computation of Darboux polynomials.

Structure of the article

In Section 2, we recall Darboux’s approach to the integrability of polynomial vector fields, related works, and existing results about the problem (𝒫N)({\mathcal{P}}_{N}). We also give useful facts on the so-called spectrum problem. We recall in Section 3 the connection between rational first integrals of the polynomial vector field (𝖲\mathsf{S}) and algebraic power series solutions of (E)\eqref{diff-eq-intro}. We then propose a first algorithm, based on linear algebra, that solves Problem (𝒫N)({\mathcal{P}}_{N}). Building on this, we develop in Section 4 an efficient probabilistic algorithm, and then turn it into an efficient deterministic algorithm. In Section 5, we study the arithmetic complexity of the algorithms developed in Section 4, and discuss several algorithmic issues. Then, in Section 6 we present our implementation and display its behavior on various examples. Finally, Section 7 shows how similar ideas can be used for computing the set of all irreducible Darboux polynomials (of a given degree) of planar polynomial vector fields.

Notation

The degree deg(P)\deg(P) of a bivariate polynomial P𝕂[x,y]P\in{\mathbb{K}}[x,y] is the total degree of PP. A rational function P/QP/Q with P,Q𝕂[x,y]P,Q\in{\mathbb{K}}[x,y] is said to be reduced when PP and QQ are coprime. The degree deg(F)\deg(F) of a reduced rational function F=P/QF=P/Q is the maximum of deg(P)\deg(P) and deg(Q)\deg(Q).
We denote by 𝕂¯\overline{{\mathbb{K}}} an algebraic closure of the field 𝕂{\mathbb{K}}.
We write f˙:=ft\dot{f}:=\frac{\partial f}{\partial t} for the usual formal derivative of the “function” (polynomial, or power series) ff with respect to the variable tt.
For a set Ω\Omega, we denote by |Ω||\Omega| its cardinality.

2. Review on first integrals of polynomial vector fields

In this section, we recall several useful facts, mainly to keep the exposition as self-contained as possible, and to clarify the understanding of the algorithms that we develop below. Some results are not original.

2.1. First definitions and classical results

We consider an autonomous planar polynomial vector field

(𝖲\mathsf{S}) {x˙=A(x,y),y˙=B(x,y),\quad\left\{\begin{array}[]{rcl}\dot{x}&=&A(x,y),\\ \dot{y}&=&B(x,y),\end{array}\right.

where xx and yy are unknown “functions” of the time variable tt, AA and BB are polynomials in 𝕂[x,y]{\mathbb{K}}[x,y], and d:=max(deg(A),deg(B))d:=\max(\deg(A),\deg(B)) denotes the degree of the polynomial vector field. Without any loss of generality, AA and BB will be assumed to be coprime in the remaining of the article.

To (𝖲\mathsf{S}) is attached the derivation

𝒟:=A(x,y)x+B(x,y)y,{\mathcal{D}}:=A(x,y)\,\frac{\partial}{\partial x}+B(x,y)\,\frac{\partial}{\partial y},

acting on the polynomial ring 𝕂[x,y]{\mathbb{K}}[x,y]. We thus view 𝕂[x,y]{\mathbb{K}}[x,y] as a differential ring endowed with the derivation 𝒟{\mathcal{D}}. We denote by 𝕂(x,y){\mathbb{K}}(x,y) its field of fractions.

Definition 1.

A rational first integral of (𝖲\mathsf{S}) is a non-constant rational function F𝕂(x,y)𝕂F\in{\mathbb{K}}(x,y)\setminus{\mathbb{K}} satisfying 𝒟(F)=0{\mathcal{D}}(F)=0.

A rational first integral FF of (𝖲\mathsf{S}) is thus a non-trivial constant for the derivation 𝒟{\mathcal{D}}. Intuitively, this means that if (x(t),y(t))(x(t),y(t)) is a pair of “functions” satisfying (𝖲\mathsf{S}), then F(x(t),y(t))F(x(t),y(t)) is constant when tt varies. We explain in Theorem 11 below why no algebraic extension of the base field is necessary in Definition 1.

A starting observation is that the rational function F=P/QF=P/Q is a first integral for (𝖲\mathsf{S}) if and only if 𝒟(P)Q=𝒟(Q)P{\mathcal{D}}(P)\,Q={\mathcal{D}}(Q)\,P. Therefore, if FF is a reduced rational first integral for (𝖲\mathsf{S}), then PP divides 𝒟(P){\mathcal{D}}(P), and QQ divides 𝒟(Q){\mathcal{D}}(Q) in 𝕂[x,y]{\mathbb{K}}[x,y]. This motivates the following definition.

Definition 2.

A polynomial M𝕂¯[x,y]𝕂¯M\in\overline{{\mathbb{K}}}[x,y]\setminus\overline{{\mathbb{K}}} is a Darboux polynomial for 𝒟{\mathcal{D}} if MM divides 𝒟(M){\mathcal{D}}(M) in 𝕂¯[x,y]\overline{{\mathbb{K}}}[x,y]. Therefore, if MM is a Darboux polynomial for 𝒟{\mathcal{D}}, then there exists a polynomial Λ𝕂¯[x,y]\Lambda\in\overline{{\mathbb{K}}}[x,y] such that 𝒟(M)=ΛM{\mathcal{D}}(M)=\Lambda\,M. Such a polynomial Λ𝕂¯[x,y]\Lambda\in\overline{{\mathbb{K}}}[x,y] is called a cofactor associated with the Darboux polynomial MM.

Darboux polynomials were introduced by G. Darboux in [Dar78]. These polynomials correspond to algebraic curves invariant under the vector field. The following lemma will be used in the sequel: it means that if we have a non-singular initial condition, then there is a unique irreducible invariant algebraic curve satisfying this initial condition, see [Sin92, Lemma A.1].

Lemma 3.

Let 𝒟=A(x,y)x+B(x,y)y{\mathcal{D}}=A(x,y)\,\frac{\partial}{\partial x}+B(x,y)\,\frac{\partial}{\partial y} be the derivation attached to (𝖲\mathsf{S}) and let (x0,y0)(x_{0},y_{0}) be a non-singular point of 𝒟{\mathcal{D}}, i.e., A(x0,y0)0A(x_{0},y_{0})\neq 0 or B(x0,y0)0B(x_{0},y_{0})\neq 0. If M1M_{1} and M2M_{2} are two Darboux polynomials for 𝒟{\mathcal{D}} such that M1(x0,y0)=M2(x0,y0)=0M_{1}(x_{0},y_{0})=M_{2}(x_{0},y_{0})=0 and if M1M_{1} is irreducible, then M1M_{1} divides M2M_{2}.

Darboux polynomials are sometimes called partial first integrals in the literature. The reason is that rational first integrals and Darboux polynomials are intimately related notions: as sketched above, numerators and denominators of reduced rational first integrals are Darboux polynomials. The converse is also true, see Corollary 5 below.

A fundamental property of Darboux polynomials is given in the following lemma (see, e.g., [DLA06, Lemma 8.3, p. 216]) that can be proved by a straightforward calculation.

Lemma 4.

Let M𝕂¯[x,y]M\in\overline{{\mathbb{K}}}[x,y] and let M=M1M2M=M_{1}\,M_{2} be a factorization of MM in 𝕂¯[x,y]\overline{{\mathbb{K}}}[x,y], with M1M_{1} and M2M_{2} coprime. Then, MM is a Darboux polynomial for 𝒟{\mathcal{D}} if and only if M1M_{1} and M2M_{2} are Darboux polynomials for 𝒟{\mathcal{D}}. Furthermore, if ΛM,ΛM1\Lambda_{M},\,\Lambda_{M_{1}} and ΛM2\Lambda_{M_{2}} denote respectively the cofactors of M,M1M,\,M_{1} and M2M_{2}, then ΛM=ΛM1+ΛM2\Lambda_{M}=\Lambda_{M_{1}}+\Lambda_{M_{2}}.

As a corollary we get:

Corollary 5.

Let F=P/QF=P/Q be a reduced rational function in 𝕂(x,y){\mathbb{K}}(x,y). Then FF is a rational first integral of (𝖲\mathsf{S}) if and only if PP and QQ are Darboux polynomials for 𝒟{\mathcal{D}} with the same cofactor.

The previous corollary gives a relation between Darboux polynomials and rational first integrals. The next theorem shows that if we have enough Darboux polynomials, then we have a rational first integral, see [Sin92, Appendix] for a modern proof.

Theorem 6.

[Darboux-Jouanolou [Dar78, Jou79, Sin92]]
If d=max(deg(A),deg(B))d=\max(\deg(A),\deg(B)), then the polynomial vector field (𝖲\mathsf{S}) has a reduced rational first integral P/QP/Q if and only if 𝒟{\mathcal{D}} has at least d(d+1)/2+2d\,(d+1)/2+2 irreducible Darboux polynomials. In this case, 𝒟{\mathcal{D}} has infinitely many irreducible Darboux polynomials and any of them divides a linear combination λPμQ\lambda\,P-\mu\,Q, for some λ,μ𝕂¯\lambda,\,\mu\in\overline{{\mathbb{K}}} not both zero. Moreover, all but finitely many irreducible Darboux polynomials are of the form λPμQ\lambda\,P-\mu\,Q and have the same degree.

A useful corollary of Theorem 6 is the following, see [Sin92]:

Corollary 7.

For each planar polynomial vector field (𝖲\mathsf{S}), there exists a non-negative integer N(S)N_{\eqref{eq-sys}} such that any irreducible Darboux polynomial for the derivation 𝒟{\mathcal{D}} attached to (𝖲\mathsf{S}) has degree at most N(S)N_{\eqref{eq-sys}}.

Given a derivation 𝒟{\mathcal{D}}, the problem of finding a bound for the degree of irreducible Darboux polynomials is known to be difficult: this is the so-called Poincaré problem. It has been deeply studied in the literature and many partial results exist ([Poi91, CLN91, Car94, Per02, Wal00, CG06, LY05] and others) though the question is not fully solved yet. The fact that the derivation 𝒟=nxx+yy{\mathcal{D}}=n\,x\,\frac{\partial}{\partial x}+y\,\frac{\partial}{\partial y} with nn\in{\mathbb{N}}^{*} admits xynx-y^{n} as an irreducible Darboux polynomial shows that a bound depending only on the degrees of the entries cannot exist: arithmetic conditions on the coefficients of 𝒟{\mathcal{D}} have to be taken into account as well.

Consequently, given a planar polynomial vector field (𝖲\mathsf{S}), or equivalently a derivation 𝒟{\mathcal{D}}, two distinct problems occur when we want to compute rational first integrals:

  1. (1)

    Find a bound on the degree of the numerator and denominator of a rational first integral, that is a bound on the degree of irreducible Darboux polynomials;

  2. (2)

    (𝒫N)({\mathcal{P}}_{N}): given a degree bound NN\in{\mathbb{N}}, either compute a rational first integral F𝕂(x,y)𝕂F\in{\mathbb{K}}(x,y)\setminus{\mathbb{K}} of (𝖲\mathsf{S}) of total degree at most NN, or prove that no such FF exists.

Our aim is to give an efficient algorithm to handle the second problem (𝒫N)({\mathcal{P}}_{N}).

In this article we suppose that dNd\leq N. This hypothesis is natural because if a derivation has a polynomial first integral of degree NN, then we can show that dN1d\leq N-1, see [FL07, Theorem 6] or [Poi91].

2.2. Non-composite rational functions and their spectrum

We recall here the definition of composite rational functions and what is called the spectrum of a rational function. We then use these notions to describe the kernel of the derivation 𝒟{\mathcal{D}} and to give some of its properties.

Definition 8.

A rational function F(x,y)𝕂(x,y)F(x,y)\in{\mathbb{K}}(x,y) is composite if it can be written F=uhF=u\circ h, i.e., F=u(h)F=u(h), where h𝕂(x,y)𝕂h\in{\mathbb{K}}(x,y)\setminus{\mathbb{K}} and u𝕂(T)u\in{\mathbb{K}}(T) with deg(u)2\deg(u)\geq 2. Otherwise FF is said to be non-composite.

In [MO04, Chè12b], the authors propose different algorithms for the decomposition of rational functions using properties of Darboux polynomials and rational first integrals of the Jacobian derivation.

Lemma 9.

The set of all rational first integrals of (𝖲\mathsf{S}) is a 𝕂{\mathbb{K}}-algebra. It is closed under composition with rational functions in 𝕂(T){\mathbb{K}}(T), and moreover, FF is a rational first integral of (𝖲\mathsf{S}) if and only if uFu\circ F is a rational first integral of (𝖲\mathsf{S}) for some u𝕂(T)𝕂.u\in{\mathbb{K}}(T)\setminus{\mathbb{K}}.

Proof.

The first assertion directly follows from the fact that the derivation
𝒟=A(x,y)x+B(x,y)y{\mathcal{D}}=A(x,y)\,\frac{\partial}{\partial x}+B(x,y)\,\frac{\partial}{\partial y} is 𝕂{\mathbb{K}}-linear and satisfies Leibniz’s rule

𝒟(F1F2)=F1𝒟(F2)+𝒟(F1)F2.{\mathcal{D}}(F_{1}F_{2})=F_{1}\,{\mathcal{D}}(F_{2})+{\mathcal{D}}(F_{1})\,F_{2}.

The second assertion follows from the equality

𝒟(uF)=u(F)𝒟(F),{\mathcal{D}}(u\circ F)=u^{\prime}(F)\,{\mathcal{D}}(F),

and the fact that u(F)u^{\prime}(F) is zero if and only if u𝕂u\in{\mathbb{K}}. ∎

A more precise version of Lemma 9 is given by the next theorem which completely describes the 𝕂{\mathbb{K}}-algebra structure of the set of all rational first integrals of (𝖲\mathsf{S}). This theorem seems to be a folklore result but we have not found a suitable reference. Consequently, a complete proof is provided here.

Theorem 10.

Let 𝒟{\mathcal{D}} be the derivation attached with (𝖲\mathsf{S}). Then we have:

{G𝕂(x,y)|𝒟(G)=0}=𝕂(F),\{G\in{\mathbb{K}}(x,y)\;|\;{\mathcal{D}}(G)=0\}={\mathbb{K}}(F),

for some non-composite reduced rational first integral FF of (𝖲\mathsf{S}).
Then any other rational first integral GG of (𝖲\mathsf{S}) is of the form G=uFG=u\circ F for some u𝕂(T)𝕂.u\in{\mathbb{K}}(T)\setminus{\mathbb{K}}. In particular, any two non-composite reduced rational first integrals are equal, up to a homography.

Proof.

Let 𝕃={G𝕂(x,y)|𝒟(G)=0}{\mathbb{L}}=\{G\in{\mathbb{K}}(x,y)\;|\;{\mathcal{D}}(G)=0\}. We have 𝕂𝕃𝕂(x,y){\mathbb{K}}\subset{\mathbb{L}}\subset{\mathbb{K}}(x,y), so, from [Sch00, Theorem 1, p. 12], we deduce that 𝕃{\mathbb{L}} is finitely generated over 𝕂{\mathbb{K}} and that 𝕃=𝕂(f1,f2,f3){\mathbb{L}}={\mathbb{K}}(f_{1},f_{2},f_{3}) for some f1,f2,f3𝕂(x,y)f_{1},\,f_{2},\,f_{3}\in{\mathbb{K}}(x,y).
As for i{1,2,3}i\in\{1,2,3\}, A(x,y)fix+B(x,y)fiy=0A(x,y)\,\frac{\partial f_{i}}{\partial x}+B(x,y)\,\frac{\partial f_{i}}{\partial y}=0, we get that:

fiyfjxfixfjy=0,for alli,j{1,2,3}.\frac{\partial f_{i}}{\partial y}\frac{\partial f_{j}}{\partial x}-\frac{\partial f_{i}}{\partial x}\frac{\partial f_{j}}{\partial y}=0,\quad\text{for all}\;i,\,j\in\{1,2,3\}.

The Jacobian criterion implies that f1,f2,f3f_{1},f_{2},f_{3} are algebraically dependent and thus the transcendence degree of 𝕃{\mathbb{L}} over 𝕂{\mathbb{K}} is equal to one. By the extended Luroth’s theorem, see [Sch00, Theorem 3, p. 15], we get 𝕃=𝕂(F){\mathbb{L}}={\mathbb{K}}(F), for F𝕂(x,y)F\in{\mathbb{K}}(x,y). In particular, FF is a rational first integral of (𝖲\mathsf{S}).
Now, if FF is composite, F=u(H)F=u(H), with deg(u)2\deg(u)\geq 2, then 𝕂(F)𝕂(H){\mathbb{K}}(F)\subsetneq{\mathbb{K}}(H), see, e.g., [GRS02, Proposition 2.2]. By Lemma 9, HH is also a rational first integral of (𝖲\mathsf{S}) so that H𝕃H\in{\mathbb{L}} and 𝕂(H)𝕃{\mathbb{K}}(H)\subset{\mathbb{L}}. This yields 𝕃=𝕂(F)𝕂(H)𝕃{\mathbb{L}}={\mathbb{K}}(F)\subsetneq{\mathbb{K}}(H)\subset{\mathbb{L}}, which is absurd. Thus FF is non-composite which gives the desired result. ∎

As a consequence of Theorem 10, non-composite reduced rational first integrals coincide with rational first integrals with minimal degree; they will play a key role in the remaining of this text.

In Definition 1, we have defined rational first integrals as elements of 𝕂(x,y){\mathbb{K}}(x,y). The next theorem explains why it is in general not necessary to consider rational first integrals in 𝕂¯(x,y)\overline{{\mathbb{K}}}(x,y). To our knowledge this result is proved here for the first time. In [MM97], the authors show that if there exists a rational first integral in 𝕂¯(x,y)\overline{{\mathbb{K}}}(x,y), then there also exists a rational first integral in 𝕂(x,y){\mathbb{K}}(x,y). We improve this result by taking into account the degrees of these rational first integrals.

Theorem 11.

If (𝖲\mathsf{S}) admits a non-composite rational first integral in 𝕂¯(x,y)\overline{{\mathbb{K}}}(x,y), then it admits a non-composite rational first integral in 𝕂(x,y){\mathbb{K}}(x,y) with the same degree.

Proof.

Let f𝕂¯(x,y)f\in\overline{{\mathbb{K}}}(x,y) be a non-composite rational first integral of (𝖲\mathsf{S}). We denote by N(f)N(f) the product

N(f)=σiGσi(f),N(f)=\prod_{\sigma_{i}\in G}\sigma_{i}(f),

where GG is the Galois group over 𝕂{\mathbb{K}} of the smallest Galois extension containing all the coefficients of ff, and we have N(f)𝕂(x,y)N(f)\in{\mathbb{K}}(x,y). As A,B𝕂(x,y)A,B\in{\mathbb{K}}(x,y), N(f)N(f) is also a rational first integral of (𝖲\mathsf{S}). Thus, by Lemma 9, there exists a non-composite rational first integral F𝕂(x,y)F\in{\mathbb{K}}(x,y) of (𝖲\mathsf{S}). Now, applying Theorem 10 with ground field 𝕂¯\overline{{\mathbb{K}}} instead of 𝕂{\mathbb{K}}, we get that F=u(f)F=u(f), with u𝕂¯(T)u\in\overline{{\mathbb{K}}}(T). Furthermore, by [BCN11, Theorem 13], FF is non-composite in 𝕂(x,y){\mathbb{K}}(x,y) implies that FF is non-composite in 𝕂¯(x,y)\overline{{\mathbb{K}}}(x,y). It thus follows that deg(u)=1\deg(u)=1 so that deg(F)=deg(f)\deg(F)=\deg(f). ∎

Now, we introduce the spectrum of a rational function which will play a crucial role in our algorithms.

Definition 12.

Let P/Q𝕂(x,y)P/Q\in{\mathbb{K}}(x,y) be a reduced rational function of degree NN. The set

σ(P,Q)={(λ:μ)𝕂¯1\displaystyle\sigma(P,Q)=\{(\lambda:\mu)\in{\mathbb{P}}^{1}_{\overline{{\mathbb{K}}}} \displaystyle\mid λPμQ is reducible in 𝕂¯[x,y],\displaystyle\lambda\,P-\mu\,Q\textrm{ is reducible in }\overline{{\mathbb{K}}}[x,y],
or deg(λPμQ)<N}\displaystyle\textrm{ or }\deg(\lambda\,P-\mu\,Q)<N\}

is called the spectrum of P/QP/Q.

In the context of rational first integrals of polynomial vector fields, the elements of the spectrum are sometimes called remarkable values, see, e.g., [FL07]. There exists a vast bibliography about the spectrum, see for example [Rup86, Lor93, Vis93b, Vis93a, AHS03, Bod08, BC11].

The spectrum σ(P,Q)\sigma(P,Q) is finite if and only if P/QP/Q is non-composite and if and only if the pencil of algebraic curves λPμQ=0\lambda\,P-\mu\,Q=0 has an irreducible general element, see for instance [Jou79, Chapitre 2, Théorème 3.4.6] or [Bod08, Theorem 2.2] for detailed proofs.

To the authors’ knowledge, the first effective result on the spectrum is due to Poincaré. In [Poi91], he establishes a relation between the number of saddle points and the cardinal of the associated spectrum, in the case where all the singular points of the polynomial vector field are distinct. In particular this yields the bound |σ(P,Q)|d2|\sigma(P,Q)|\leq d^{2} on the cardinality of the spectrum. This bound was improved recently in [Chè12a]:

Theorem 13.

Let 𝒟{\mathcal{D}} be the derivation attached with (𝖲\mathsf{S}) and dd denotes the degree of (𝖲\mathsf{S}). If P/QP/Q is a reduced non-composite rational first integral of (𝖲\mathsf{S}), then:

|σ(P,Q)|(d)+1, where (d)=d(d+1)2.|\sigma(P,Q)|\leq\mathcal{B}(d)+1,\textrm{ where }\mathcal{B}(d)=\dfrac{d(d+1)}{2}.

As a consequence of Theorem 13 and Corollary 5, if P/QP/Q is a reduced non-composite rational first integral of (𝖲\mathsf{S}), then for all but (d)+1\mathcal{B}(d)+1 constants σ𝕂¯\sigma\in\overline{{\mathbb{K}}}, the polynomial PσQP-\sigma\,Q has degree NN and is an irreducible Darboux polynomial for 𝒟{\mathcal{D}} with the same cofactor as PP and QQ. This means that if (𝖲\mathsf{S}) has a rational first integral, there exist an infinite number of irreducible Darboux polynomials which all have the same degree (and the same cofactor).

The following lemma will be useful in Section 4 for the study of our probabilistic and deterministic algorithms.

Lemma 14.

If P/Q𝕂(x,y)P/Q\in{\mathbb{K}}(x,y) is a reduced non-composite rational function of degree at most NN, then the number of values of c𝕂¯c\in\overline{{\mathbb{K}}} for which (Q(0,c):P(0,c))(Q(0,c):P(0,c)) belongs to σ(P,Q)\sigma(P,Q) is bounded by N((d)+1)N\,(\mathcal{B}(d)+1).

Proof.

Let c𝕂¯c\in\overline{{\mathbb{K}}} be such that (Q(0,c):P(0,c))σ(P,Q)(Q(0,c):P(0,c))\in\sigma(P,Q). By Theorem 13, σ(P,Q)\sigma(P,Q) contains at most (d)+1\mathcal{B}(d)+1 elements. Now, for each (λ:μ)σ(P,Q)(\lambda:\mu)\in\sigma(P,Q), as PP and QQ are of degree at most NN, there exist at most NN values of cc such that λQ(0,c)μP(0,c)=0\lambda\,Q(0,c)-\mu\,P(0,c)=0. This ends the proof. ∎

2.3. Existing algorithms for computing rational first integrals and Darboux polynomials of bounded degree

There is a vast literature regarding the computation of rational or elementary first integrals (see for example [FG10, MM97, Chè11, PS83, SGR90, Sin92, LZ10, DDdMS01, Poi91]) and Darboux polynomials (see for example [CMS09, CMS06, CGG05, Wei95, Dar78]). Note that, among these articles, very few restrict to the specific question of rational first integrals. Surveys on computing first integrals (not restricted to planar systems) can be found for example in [Gor01, Sch93, DLA06] and [Olv93] for symmetry methods which we do not address here.

Given a degree bound NN, the naive approach to solve (𝒫N)({\mathcal{P}}_{N}) consists in using the method of undetermined coefficients. This leads to a system of polynomial (quadratic) equations in the unknown coefficients of the rational first integral, see [Chè11] for a complexity estimate of this approach.

Interest in Darboux polynomials has been revived by the appearance of the Prelle-Singer’s method, [PS83, MM97, DDdMS01]. In [CMS06, CMS09], Coutinho and Menasché Schechter give necessary conditions for the existence of Darboux polynomials. Other necessary conditions are contained in [CGGL03, CGG05] and also in works on inverse integrating factors [CGGL03, CFL10]. The bottleneck of the Prelle-Singer’s method and all of its variants is the computation by undetermined coefficients of all irreducible Darboux polynomials of bounded degree, which leads again to solving a polynomial system. This yields an exponential complexity algorithm, see [Chè11].

In [Chè11], Chèze shows that if the derivation 𝒟{\mathcal{D}} admits only finitely many irreducible Darboux polynomials of degree at most NN, then it is possible to compute all of them by using the so-called ecstatic curve introduced in [Per01] within a number of binary operations that is polynomial in the bound NN, in the degree d=max(deg(A),deg(B))d=\max(\deg(A),\deg(B)) of 𝒟{\mathcal{D}} and in the logarithm of the height of AA and BB. A nontrivial modification of this algorithm provides a polynomial-time method to solve (𝒫N)({\mathcal{P}}_{N}), see again [Chè11]. To our knowledge, this is the first algorithm solving (𝒫N)({\mathcal{P}}_{N}) in polynomial-time. Unfortunately, the exponent is quite large, making the algorithm unpractical even for moderate values of NN. This drawback is due to the fact that algorithm Rat-First-Int in [Chè11] needs to compute the irreducible factors of a bivariate polynomial of degree dN4\approx dN^{4}, and the best known algorithms for solving this subtask have arithmetic complexity, e.g., 𝒪~(dω+1N4ω+4)\tilde{\mathcal{O}}(d^{\omega+1}N^{4\omega+4}), see [BLS+04, Lec06].

Last, we mention the article [FG10] of Ferragut and Giacomini, where the algebraicity of a generic power series solution of the differential equation (E)\eqref{diff-eq-intro} is used to improve the efficiency of the naive algorithm. Precisely, the system of quadratic equations yielding the coefficients of a rational first integral is reduced to a simpler system of (still quadratic) equations. Although this gives a good heuristic improvement on the naive method, we show in the present article how to turn it into a fast algorithm. Starting from the link between (𝖲\mathsf{S}) and (E)\eqref{diff-eq-intro}, we reduce (𝒫N)({\mathcal{P}}_{N}) to solving a system of linear equations. Furthermore, we give tight bound on the number of terms of power series solutions of (E)\eqref{diff-eq-intro} that are sufficient to detect the existence of rational first integrals and to compute one of them when it exists. This enables us to turn the heuristic in [FG10] into an algorithm with polynomial complexity, that is more efficient both in theory and in practice than all previous algorithms, see Section 6.

3. Rational first integrals, differential equations and algebraic power series

3.1. Algebraic power series and rational first integrals

Definition 15.

A formal power series y(x)𝕂[[x]]y(x)\in{\mathbb{K}}[[x]] is said to be algebraic if it is algebraic over 𝕂(x){\mathbb{K}}(x), that is, if there exists a non-zero polynomial M𝕂[x,y]M\in{\mathbb{K}}[x,y] such that M(x,y(x))=0M(x,y(x))=0. An irreducible polynomial M𝕂[x,y]M\in{\mathbb{K}}[x,y] satisfying M(x,y(x))=0M(x,y(x))=0 is called a minimal polynomial of y(x)y(x) in 𝕂[x,y]{\mathbb{K}}[x,y].

With the planar polynomial vector field (𝖲\mathsf{S}), we associate the first order non-linear differential equation:

(𝖤\mathsf{E}) dydx=B(x,y)A(x,y)\quad\frac{dy}{dx}=\frac{B(x,y)}{A(x,y)}

We may assume without any loss of generality that xx does not divide AA, i.e., A(0,y)0A(0,y)\not\equiv 0. We will explain how we can reduce to this situation and study the complexity of this reduction in Subsection 5.1.

Then, the formal version of the Cauchy-Lipschitz theorem for non-linear (first-order) differential equations ensures that for any c𝕂c\in{\mathbb{K}} such that A(0,c)0A(0,c)\neq 0, the equation (𝖤\mathsf{E}) admits a unique power series solution yc(x)𝕂[[x]]y_{c}(x)\in{\mathbb{K}}[[x]] satisfying yc(0)=cy_{c}(0)=c. Note that high-order truncations of the power series yc(x)y_{c}(x) can be computed efficiently using the algorithm of Brent and Kung  [BK78].

The following standard result is fundamental to both our method and the one of Ferragut and Giacomini in [FG10].

Proposition 16.

Consider the planar polynomial vector field (𝖲\mathsf{S}) and assume that A(0,y)0A(0,y)\not\equiv 0. Let c𝕂c\in{\mathbb{K}} satisfy A(0,c)0A(0,c)\neq 0 and yc(x)𝕂[[x]]y_{c}(x)\in{\mathbb{K}}[[x]] be the unique power series solution of (𝖤\mathsf{E}) such that yc(0)=cy_{c}(0)=c.

  1. (1)

    If (𝖲\mathsf{S}) admits a non-composite rational first integral P/QP/Q, then the power series yc(x)y_{c}(x) is algebraic. More precisely, yc(x)y_{c}(x) is a root of the non-zero polynomial λPμQ\lambda\,P-\mu\,Q, where λ=Q(0,c)\lambda=Q(0,c) and μ=P(0,c)\mu=P(0,c).

  2. (2)

    If P/QP/Q is a reduced non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN, then, for all but at most N((d)+1)N\,(\mathcal{B}(d)+1) values of c𝕂c\in{\mathbb{K}}, the polynomial λPμQ\lambda\,P-\mu\,Q, where λ=Q(0,c)\lambda=Q(0,c) and μ=P(0,c)\mu=P(0,c) is a minimal polynomial of yc(x)y_{c}(x).

Proof.

Let F=P/QF=P/Q be a non-composite rational first integral of (𝖲\mathsf{S}). Since the spectrum σ(P,Q)\sigma(P,Q) is finite, we can suppose that PP and QQ are irreducible and coprime. Let us first show that P(0,c)0P(0,c)\neq 0 or Q(0,c)0Q(0,c)\neq 0. As (0,c)(0,c) is a non-singular point of 𝒟{\mathcal{D}}, if P(0,c)=Q(0,c)=0P(0,c)=Q(0,c)=0, then Lemma 3 implies that P=αQP=\alpha\,Q with α𝕂\alpha\in{\mathbb{K}}. As PP and QQ are coprime, we get a contradiction so that necessarily P(0,c)0P(0,c)\neq 0 or Q(0,c)0Q(0,c)\neq 0.
We thus suppose Q(0,c)0Q(0,c)\neq 0 else we consider the rational first integral Q/PQ/P instead of P/QP/Q. As Q(0,c)0Q(0,c)\neq 0, the power series Q(x,yc(x))Q(x,y_{c}(x)) is invertible so that 𝒟(F)=0{\mathcal{D}}(F)=0 yields 𝒟(F)(x,yc(x))=0{\mathcal{D}}(F)(x,y_{c}(x))=0. The latter equality can be written

A(x,yc(x))Fx(x,yc(x))+B(x,yc(x))Fy(x,yc(x))\displaystyle A(x,y_{c}(x))\,\dfrac{\partial F}{\partial x}(x,y_{c}(x))+B(x,y_{c}(x))\,\dfrac{\partial F}{\partial y}(x,y_{c}(x)) =\displaystyle= 0.\displaystyle 0.

Dividing the equality by the invertible power series A(x,yc(x))A(x,y_{c}(x)) and using the fact that yc(x)y_{c}(x) is a solution of (𝖤\mathsf{E}), we obtain

Fx(x,yc(x))+B(x,yc(x))A(x,yc(x))Fy(x,yc(x))\displaystyle\dfrac{\partial F}{\partial x}(x,y_{c}(x))+\dfrac{B(x,y_{c}(x))}{A(x,y_{c}(x))}\,\dfrac{\partial F}{\partial y}(x,y_{c}(x)) =\displaystyle= 0,\displaystyle 0,
Fx(x,yc(x))+dyc(x)dxFy(x,yc(x))\displaystyle\dfrac{\partial F}{\partial x}(x,y_{c}(x))+\dfrac{dy_{c}(x)}{dx}\,\dfrac{\partial F}{\partial y}(x,y_{c}(x)) =\displaystyle= 0,\displaystyle 0,
d(F(x,yc(x)))dx\displaystyle\dfrac{d\big{(}F(x,y_{c}(x))\big{)}}{dx} =\displaystyle= 0.\displaystyle 0.

It follows that F(x,yc(x))=σcF(x,y_{c}(x))=\sigma_{c}, for some σc𝕂\sigma_{c}\in{\mathbb{K}}. Consequently, we have

P(x,yc(x))σcQ(x,yc(x))=0,P(x,y_{c}(x))-\sigma_{c}\,Q(x,y_{c}(x))=0,

with σc=P(0,c)/Q(0,c)\sigma_{c}=P(0,c)/Q(0,c) which proves (1).
If, in addition, F=P/QF=P/Q is reduced non-composite of degree at most NN, then (2) follows directly from Lemma 14. ∎

Proposition 16 shows in particular that if (𝖲\mathsf{S}) has a rational first integral P/QP/Q, then all power series solutions of (𝖤\mathsf{E}) are algebraic. The next proposition which is well known (see [FG10, Wei95]) asserts that the converse is also true.

Proposition 17.

Let (𝖲\mathsf{S}) be a planar polynomial vector field, 𝒟{\mathcal{D}} the associated derivation, and (𝖤\mathsf{E}) be the associated differential equation.

  1. (1)

    If M𝕂[x,y]M\in{\mathbb{K}}[x,y] is an irreducible Darboux polynomial for  𝒟{\mathcal{D}}, then all roots y(x)𝕂(x)¯y(x)\in\overline{{\mathbb{K}}(x)} of MM such that A(0,y(0))0A(0,y(0))\neq 0 are power series solutions of (𝖤\mathsf{E}).

  2. (2)

    The minimal polynomial of an algebraic solution y(x)𝕂[[x]]y(x)\in{\mathbb{K}}[[x]] of (𝖤\mathsf{E}) such that A(0,y(0))0A(0,y(0))\neq 0 is a Darboux polynomial for 𝒟{\mathcal{D}}.

  3. (3)

    (𝖲\mathsf{S}) admits a rational first integral if and only if all the power series solutions of (𝖤\mathsf{E}) are algebraic.

Proof.

Assume first that M𝕂[x,y]M\in{\mathbb{K}}[x,y] is an irreducible Darboux polynomial for 𝒟{\mathcal{D}}, and that y(x)𝕂(x)¯y(x)\in\overline{{\mathbb{K}}(x)} is a root of MM, i.e., M(x,y(x))=0M(x,y(x))=0. Since MM divides 𝒟(M){\mathcal{D}}(M), it follows that y(x)y(x) is also a root of 𝒟(M){\mathcal{D}}(M). This implies

Mx(x,y(x))=B(x,y(x))A(x,y(x))My(x,y(x)).\dfrac{\partial M}{\partial x}(x,y(x))=-\dfrac{B(x,y(x))}{A(x,y(x))}\,\dfrac{\partial M}{\partial y}(x,y(x)).

On the other hand, M(x,y(x))=0M(x,y(x))=0 implies by differentiation with respect to xx that

Mx(x,y(x))=dy(x)dxMy(x,y(x)).\dfrac{\partial M}{\partial x}(x,y(x))=-\dfrac{dy(x)}{dx}\,\dfrac{\partial M}{\partial y}(x,y(x)).

These two equalities provides

My(x,y(x))(dy(x)dxB(x,y(x))A(x,y(x)))=0.\dfrac{\partial M}{\partial y}(x,y(x))\,\left(\dfrac{dy(x)}{dx}-\dfrac{B(x,y(x))}{A(x,y(x))}\right)=0.

As MM is irreducible, My(x,y(x))0\dfrac{\partial M}{\partial y}(x,y(x))\neq 0 so that y(x)y(x) is a solution of (𝖤\mathsf{E}). As mentioned before A(0,y(0))0A(0,y(0))\neq 0 implies y(x)𝕂[[x]]y(x)\in{\mathbb{K}}[[x]] (Cauchy-Lipschitz theorem) which proves (1).

Assume now that y(x)𝕂[[x]]y(x)\in{\mathbb{K}}[[x]] is an algebraic solution of (𝖤\mathsf{E}) such that
A(0,y(0))0A(0,y(0))\neq 0, and let MM be its minimal polynomial. Then

0=d(M(x,y(x)))dx=Mx(x,y(x))+dy(x)dxMy(x,y(x)),0=\dfrac{d\big{(}M(x,y(x))\big{)}}{dx}=\dfrac{\partial M}{\partial x}(x,y(x))+\dfrac{dy(x)}{dx}\,\dfrac{\partial M}{\partial y}(x,y(x)),

and since y(x)y(x) is a solution of (𝖤\mathsf{E}), the latter equality implies that y(x)y(x) is also a root of 𝒟(M){\mathcal{D}}(M). Now as MM is the minimal polynomial of y(x)y(x), it follows that MM divides 𝒟(M){\mathcal{D}}(M), i.e., MM is a Darboux polynomial for 𝒟{\mathcal{D}} and we have proved (2).

Let us now prove (3). If all the power series solutions of (𝖤\mathsf{E}) are algebraic, then by (2), 𝒟{\mathcal{D}} admits infinitely many Darboux polynomials. Then Theorem 6 shows that (𝖲\mathsf{S}) admits a rational first integral. The proof ends here since the other implication of (3) has been proved in Proposition 16. ∎

3.2. Algebraic power series solutions of (𝖤\mathsf{E})

We have seen in Proposition 16 that if P/QP/Q is a reduced non-composite rational first integral of (𝖲\mathsf{S}), then a minimal polynomial of a power series solution of (𝖤\mathsf{E}) is generically of the form λPμQ\lambda\,P-\mu\,Q for some constants λ\lambda and μ\mu. Thus, if we are able to compute such a minimal polynomial, we can deduce the rational first integral P/QP/Q. In practice, we do not compute a power series yc(x)𝕂[[x]]y_{c}(x)\in{\mathbb{K}}[[x]] solution of (𝖤\mathsf{E}) but only a truncation of yc(x)y_{c}(x), i.e., a finite number of terms of its expansion on the monomial basis. Given a degree bound NN for the rational first integral that we are searching for, the following lemma shows that computing yc(x)modxN2+1y_{c}(x)\mod x^{N^{2}+1}, i.e., the first N2+1N^{2}+1 terms of its expansion, is enough for our purposes.

Such an analysis of the needed precision for the power series solutions of (𝖤\mathsf{E}) that we compute is not included in [FG10]. Note that this kind of strategy was already used in a polynomial factorization setting (see, e.g., [Kal85]) and in a differential equations setting (see [ACFG05, BCS+07]). The next lemma is a small improvement of [ACFG05, Lemma 2.4].

Lemma 18.

Let 𝕃{\mathbb{L}} be a field of characteristic 0 such that 𝕂𝕃{\mathbb{K}}\subseteq{\mathbb{L}}. Let y^(x)𝕃[[x]]\hat{y}(x)\in{\mathbb{L}}[[x]] denote an algebraic power series whose minimal polynomial M𝕃[x,y]M\in{\mathbb{L}}[x,y] has degree at most NN. If M~𝕃[x,y]\tilde{M}\in{\mathbb{L}}[x,y] is a polynomial of degree at most NN satisfying

():M~(x,y^(x))0modxN2+1,(\star):\;\tilde{M}(x,\hat{y}(x))\equiv 0\mod x^{N^{2}+1},

then M~(x,y^(x))=0\tilde{M}(x,\hat{y}(x))=0. Moreover, if M~\tilde{M} has minimal degree in yy among polynomials satisfying ()(\star), then M~=fM\tilde{M}=f\,M for some f𝕃[x]f\in{\mathbb{L}}[x].

Proof.

By definition, MM satisfies ()(\star) so there exists M~𝕃[x,y]\tilde{M}\in{\mathbb{L}}[x,y] of degree at most NN satisfying ()(\star). Let M~\tilde{M} be such a solution of ()(\star) and consider

(x):=Resy(M(x,y),M~(x,y)),\mathcal{R}(x):={\rm Res}_{y}(M(x,y),\tilde{M}(x,y)),

the resultant of MM and M~\tilde{M} with respect to yy. As there exist polynomials SS and TT in 𝕂[x,y]{\mathbb{K}}[x,y] such that SM+TM~=S\,M+T\,\tilde{M}=\mathcal{R}, Relation ()(\star) yields (x)0modxN2+1\mathcal{R}(x)\equiv 0\mod x^{N^{2}+1}. By Bézout’s theorem, we have deg()deg(M)deg(M~)N2\deg(\mathcal{R})\leq\deg(M)\,\deg(\tilde{M})\leq N^{2}, thus =0\mathcal{R}=0. This implies that MM and M~\tilde{M} have a non-trivial common factor. Now, as MM is irreducible, necessarily MM divides M~\tilde{M} and thus M~(x,y^(x))=0\tilde{M}(x,\hat{y}(x))=0. Finally, if M~\tilde{M} is supposed to have minimal degree in yy among polynomials satisfying ()(\star), we have necessarily M~=fM\tilde{M}=f\,M for some f𝕃[x]f\in{\mathbb{L}}[x] which ends the proof. ∎

Note that in ()(\star), the power series y^(x)\hat{y}(x) can be replaced by its truncation y^(x)modxN2+1\hat{y}(x)\mod x^{N^{2}+1}.

Remark 19.

For a given power series y^(x)\hat{y}(x), computing all the polynomials M~\tilde{M} of degree at most NN satisfying ()(\star) can be done by taking an ansatz for M~\tilde{M} and performing linear algebra calculations (e.g., solving a system of linear equations). Consequently, computing “all” solutions of ()(\star) means computing “a basis” of solutions of the linear algebra problem associated with ()(\star). An efficient method to address this problem and to get, via a row-echelon form, a solution of ()(\star) with minimal degree in yy is given in Subsection 5.3 where a complexity analysis is provided.

In the sequel, we say that M~\tilde{M} is a minimal solution of ()(\star) if it is a solution of ()(\star) with minimal degree in yy.

3.3. A first algorithm for computing rational first integrals

We now propose a first algorithm, based on linear algebra, for solving (𝒫N)({\mathcal{P}}_{N}). More efficient algorithms, based on this one, are given in Section 4. The strategy of this algorithm is then used in Section 7 for computing Darboux polynomials.

Algorithm GenericRationalFirstIntegral

Input:A,B𝕂[x,y]A,B\in{\mathbb{K}}[x,y] s.t. A(0,y)0A(0,y)\not\equiv 0 and a bound NN\in{\mathbb{N}}.
Output: A non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN, or “None”.

  1. (1)

    For an indeterminate cc, compute the polynomial yc𝕂(c)[x]y_{c}\in{\mathbb{K}}(c)[x] of degree at most (N2+1)(N^{2}+1) s.t. yc(0)=cy_{c}(0)=c and dycdxB(x,yc)A(x,yc)modxN2+1\frac{dy_{c}}{dx}\equiv\frac{B(x,y_{c})}{A(x,y_{c})}\mod x^{N^{2}+1}.

  2. (2)

    Compute all111i.e., a basis over 𝕂(c){\mathbb{K}}(c), see Remark 19. non-trivial polynomials M~𝕂(c)[x,y]\tilde{M}\in{\mathbb{K}}(c)[x,y] of degree N\leq N s.t.

    ():M~(c,x,yc(x))0modxN2+1.(\star):\tilde{M}(c,x,y_{c}(x))\equiv 0\mod x^{N^{2}+1}.

    If no such M~\tilde{M} exists, then Return “None”. Else, among the solutions of ()(\star), pick a minimal solution M¯𝕂[c][x,y]\overline{M}\in{\mathbb{K}}[c][x,y].

  3. (3)

    Let MM denote the primitive part of M¯\overline{M} relatively to yy.
    Set P(x,y):=M(0,x,y)P(x,y):=M(0,x,y).
    Pick any c1𝕂c_{1}\in{\mathbb{K}} s.t. M(c1,x,y)P(x,y)𝕂\frac{M(c_{1},x,y)}{P(x,y)}\not\in{\mathbb{K}} and set Q(x,y):=M(c1,x,y)Q(x,y):=M(c_{1},x,y).

  4. (4)

    If 𝒟(P/Q)=0{\mathcal{D}}(P/Q)=0, then Return P/QP/Q. Else Return “None”.

In the above algorithm, the output “None” means that there is no rational first integral of degree at most NN but it may exist a rational first integral of degree strictly greater than NN.

Theorem 20.

Algorithm GenericRationalFirstIntegral is correct: either it finds a non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN if it exists, or it proves that no such rational first integral exists.

To prove Theorem 20, we shall need the following lemma.

Lemma 21.

Consider the planar polynomial vector field (𝖲\mathsf{S}) and assume that A(0,y)0A(0,y)\not\equiv 0. If FF is a reduced rational first integral of (𝖲\mathsf{S}), then F(0,y)𝕂(y)𝕂.F(0,y)\in{\mathbb{K}}(y)\setminus{\mathbb{K}}.

Proof.

Let F=P/QF=P/Q be a reduced rational first integral of (𝖲\mathsf{S}). Proceeding by contradiction, we assume F(0,y)=c0𝕂F(0,y)=c_{0}\in{\mathbb{K}}. Then P(0,y)c0Q(0,y)=0P(0,y)-c_{0}\,Q(0,y)=0 so that xx divides P(x,y)c0Q(x,y)P(x,y)-c_{0}\,Q(x,y). Now, from Corollary 5, P(x,y)c0Q(x,y)P(x,y)-c_{0}\,Q(x,y) is a Darboux polynomial for 𝒟{\mathcal{D}} and thus, by Lemma 4, xx is also a Darboux polynomial for 𝒟{\mathcal{D}}. Consequently, we get that xx divides A(x,y)A(x,y) and thus A(0,y)=0A(0,y)=0. This is absurd so we conclude F(0,y)𝕂(y)𝕂F(0,y)\in{\mathbb{K}}(y)\setminus{\mathbb{K}}. ∎

Proof of Theorem 20.

Suppose first that there exists a rational first integral of (𝖲\mathsf{S}) of degree at most NN. Then, without loss of generality, we can consider a reduced non-composite one P0/Q0P_{0}/Q_{0}, see Lemma 9. Let yc𝕂(c)[[x]]y_{c}\in{\mathbb{K}}(c)[[x]] be the power series solution of (𝖤\mathsf{E}) satisfying yc(0)=cy_{c}(0)=c. By Proposition 16, ycy_{c} is a root of λP0μQ0\lambda\,P_{0}-\mu\,Q_{0}, where λ=Q0(0,c)\lambda=Q_{0}(0,c) and μ=P0(0,c)\mu=P_{0}(0,c). As P0/Q0P_{0}/Q_{0} is non-composite, it follows that λP0μQ0\lambda\,P_{0}-\mu\,Q_{0} is irreducible in 𝕂(c)[x,y]{\mathbb{K}}(c)[x,y]. Indeed, by Lemma 21, the constant μ/λ\mu/\lambda belongs to 𝕂(c)𝕂{\mathbb{K}}(c)\setminus{\mathbb{K}} and thus, from Lemma 14, we can find c0𝕂c_{0}\in{\mathbb{K}} such that (Q0(0,c0):P0(0,c0))σ(P0,Q0)(Q_{0}(0,c_{0}):P_{0}(0,c_{0}))\not\in\sigma(P_{0},Q_{0}). Consequently λP0μQ0\lambda\,P_{0}-\mu\,Q_{0} is a minimal polynomial of ycy_{c}. In Step (1), we compute the first N2+1N^{2}+1 terms of ycy_{c}. Now, in Step (2), if there exists a solution M~𝕂(c)[x,y]\tilde{M}\in{\mathbb{K}}(c)[x,y] of ()(\star) of degree at most NN, then, Lemma 18 applied with 𝕃=𝕂(c){\mathbb{L}}={\mathbb{K}}(c) implies that M¯=f(λP0μQ0)\overline{M}=f\,(\lambda\,P_{0}-\mu\,Q_{0}) with f𝕂(c)[x]f\in{\mathbb{K}}(c)[x], where M¯𝕂[c][x,y]\overline{M}\in{\mathbb{K}}[c][x,y] is defined in Step (2). Therefore, taking the primitive part of M¯\overline{M} with respect to yy, in Step (3), we have M=g(λP0μQ0)M=g\,(\lambda\,P_{0}-\mu\,Q_{0}) for some g𝕂[c]g\in{\mathbb{K}}[c]. Now, if PP and QQ denote the polynomials defined in Step (3) of the algorithm, we necessarily have:

PQ=αP0+βQ0δP0+γQ0𝕂(x,y)𝕂, where α,β,δ,γ𝕂.\dfrac{P}{Q}=\dfrac{\alpha\,P_{0}+\beta\,Q_{0}}{\delta\,P_{0}+\gamma\,Q_{0}}\in{\mathbb{K}}(x,y)\setminus{\mathbb{K}},\textrm{ where }\alpha,\beta,\delta,\gamma\in{\mathbb{K}}.

As P0/Q0P_{0}/Q_{0} is a non-composite rational first integral, we deduce that P/QP/Q is also a non-composite rational first integral. Thus, we have 𝒟(P/Q)=0{\mathcal{D}}(P/Q)=0 in Step (4) and the algorithm returns a correct output.
Now suppose that (𝖲\mathsf{S}) has no rational first integral of degree at most NN. In Step (4), the test 𝒟(P/Q)=0{\mathcal{D}}(P/Q)=0 guarantees to return a correct output. In Step (2), we can have an early detection of this situation. Indeed by Proposition 16, if ()(\star) has no non-trivial solution, then we deduce that (𝖲\mathsf{S}) has no rational first integral of degree at most NN. ∎

This algorithm fits the first part of our goal as it is entirely based on linear operations: we do not need to solve quadratic equations (see Section 5). However, it is not yet very efficient in practice because computations are done over 𝕂(c){\mathbb{K}}(c). For example, in the first step, a direct calculation shows that, for n1n\geq 1, the coefficient of xnx^{n} in the power series solution ycy_{c} of (𝖤\mathsf{E}) satisfying yc(0)=cy_{c}(0)=c is generically a rational function in cc of degree (2n1)d(2n-1)\,d, whose denominator is generically A(0,c)2n1A(0,c)^{2\,n-1}. In what follows, we accelerate things by using only computations over 𝕂{\mathbb{K}} instead of computations in 𝕂(c){\mathbb{K}}(c).

4. Efficient algorithms for computing rational first integrals

4.1. A probabilistic algorithm

In this section, we present an efficient probabilistic algorithm of Las Vegas type for solving (𝒫N)({\mathcal{P}}_{N}). The approach is similar to the one used in the previous section.

Algorithm ProbabilisticRationalFirstIntegral

Input:A,B𝕂[x,y]A,\,B\in{\mathbb{K}}[x,y] s.t. A(0,y)0A(0,y)\not\equiv 0, two elements c1,c2𝕂c_{1},\,c_{2}\in{\mathbb{K}} s.t. A(0,ci)0A(0,c_{i})\neq 0 for i=1, 2i=1,\,2, and a bound NN\in{\mathbb{N}}.
Output: A non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN, “None” or “I don’t know”.

  1. (1)

    For i=1,2i=1,2 do:

    • (1a)

      Compute yci𝕂[x]y_{c_{i}}\in{\mathbb{K}}[x] of degree at most (N2+1)(N^{2}+1) s.t. yci(0)=ciy_{c_{i}}(0)=c_{i}, and
      dycidxB(x,yci)A(x,yci)modxN2+1\frac{dy_{c_{i}}}{dx}\equiv\frac{B(x,y_{c_{i}})}{A(x,y_{c_{i}})}\mod x^{N^{2}+1}.

    • (1b)

      Compute all non-trivial polynomials Mi~𝕂[x,y]\tilde{M_{i}}\in{\mathbb{K}}[x,y] of degree N\leq N s.t.

      ():Mi~(x,yci(x))0modxN2+1.(\star):\tilde{M_{i}}(x,y_{c_{i}}(x))\equiv 0\mod x^{N^{2}+1}.
    • (1c)

      If no such Mi~\tilde{M_{i}} exists, then Return “None”.
      Else let Mi𝕂[x,y]M_{i}\in{\mathbb{K}}[x,y] be the primitive part relatively to yy of a minimal solution of ()(\star).

    • (1d)

      If i=1i=1, then while (M1(0,c2)=0M_{1}(0,c_{2})=0 or A(0,c2)=0A(0,c_{2})=0) do c2=c2+1c_{2}=c_{2}+1.

  2. (2)

    If 𝒟(M1/M2)=0{\mathcal{D}}(M_{1}/M_{2})=0, then Return M1/M2M_{1}/M_{2}. Else Return [“I don’t know”,[c2][c_{2}]].

Theorem 22.

Algorithm ProbabilisticRationalFirstIntegral terminates and satisfies the following properties:

  • If it returns M1/M2M_{1}/M_{2}, then it is a non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN.

  • If it returns “None”, then there is no rational first integral of (𝖲\mathsf{S}) of degree at most NN.

  • If (𝖲\mathsf{S}) admits a non-composite rational first integral P/QP/Q of degree at most NN and (Q(0,ci):P(0,ci))σ(P,Q)(Q(0,c_{i}):P(0,c_{i}))\not\in\sigma(P,Q) for i=1, 2i=1,\,2, then the algorithm returns a non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN.

Proof.

Let us first prove that the algorithm terminates. This follows directly from the fact that the while loop in Step (1d) terminates after at most N+d+1N+d+1 steps. Indeed, we just have to avoid the roots of the product M1(0,y)A(0,y)M_{1}(0,y)\,A(0,y) which a univariate polynomial of degree less than N+dN+d. It thus remains to check that it is a non-zero polynomial, i.e., M1(0,y)0M_{1}(0,y)\not\equiv 0. If M1(0,y)0M_{1}(0,y)\equiv 0, then xx divides M1M_{1}. As M1M_{1} is the primitive part with respect to yy of a minimal solution of ()(\star), this would imply that M1(x,y)=xM_{1}(x,y)=x and thus M1(x,yc1(x))0modxN2+1M_{1}(x,y_{c_{1}}(x))\not\equiv 0\mod x^{N^{2}+1} which is a contradiction.
Now, if the algorithm returns M1/M2M_{1}/M_{2}, then the test in Step (2) ensures that 𝒟(M1/M2)=0{\mathcal{D}}(M_{1}/M_{2})=0 and, by construction, M1/M2M_{1}/M_{2} is clearly of degree at most NN. Furthermore, M1/M2M_{1}/M_{2} is non-composite. Indeed, if M1/M2M_{1}/M_{2} is composite, then at least one of the MiM_{i}’s is reducible and thus it can not be the primitive part with respect to yy of a minimal solution of ()(\star). Finally Step (1d) certifies that M1/M2𝕂M_{1}/M_{2}\not\in{\mathbb{K}}. Indeed, M2M_{2} satisfies M2(0,c2)=0M_{2}(0,c_{2})=0, thus if M2=kM1M_{2}=k\,M_{1} with k𝕂k\in{\mathbb{K}}, then either k=0k=0 or M1(0,c2)=0M_{1}(0,c_{2})=0 which is not possible thanks to Step (1d). We have then proved that M1/M2M_{1}/M_{2} is a non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN.
If the algorithm returns “None” in Step (1c), then by Proposition 16, (𝖲\mathsf{S}) has no rational first integral of degree at most NN.
Assume finally that (𝖲\mathsf{S}) admits a non-composite rational first integral P/QP/Q of degree at most NN and that (Q(0,ci):P(0,ci))σ(P,Q)(Q(0,c_{i}):P(0,c_{i}))\not\in\sigma(P,Q) for i=1, 2i=1,\,2. Then the same strategy as the one used in the proof of Theorem 20 shows that our algorithm returns a non-composite rational first integral of (𝖲\mathsf{S}).

Proposition 23.

Let Ω\Omega be a (finite) subset of 𝕂{\mathbb{K}} of cardinal |Ω||\Omega| greater than N((d)+1)N\,(\mathcal{B}(d)+1) and assume that, in Algorithm ProbabilisticRationalFirstIntegral, c1c_{1} and c2c_{2} are chosen independently and uniformly at random in Ω\Omega. Then, if (𝖲\mathsf{S}) admits a rational first integral of degree at most NN, Algorithm ProbabilisticRationalFirstIntegral returns a non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN with probability at least (1N((d)+1)|Ω|)\left(1-\frac{N\,(\mathcal{B}(d)+1)}{|\Omega|}\right).

Proof.

It is a straightforward application of Lemma 14, Theorem 22 and Zippel-Schwartz’s lemma (see [gGG99, Lemma 6.44]). ∎

In fact, the “practical” probability will be much better. Indeed, the elements (λ:μ)(\lambda:\mu) of the spectrum may be rational or algebraic and hence, the constants cc such that (Q(0,c):P(0,c))σ(P,Q)(Q(0,c):P(0,c))\in\sigma(P,Q) will generally be algebraic. So, if the cic_{i}’s are chosen to be rational in the input, then the “bad” values of the cic_{i}’s will generally be in very small number. This fact is widely confirmed by experiments.

Now, we study all the different situations that can occur and the corresponding output given by the algorithm ProbabilisticRationalFirstIntegral:

  1. (1)

    (𝖲\mathsf{S}) has a non-composite rational first integral P/QP/Q of degree at most NN.

    1. (a)

      If (Q(0,c1):P(0,c1))σ(P,Q)(Q(0,c_{1}):P(0,c_{1}))\not\in\sigma(P,Q), and (Q(0,c2):P(0,c2))σ(P,Q)(Q(0,c_{2}):P(0,c_{2}))\not\in\sigma(P,Q) then in this situation the algorithm returns a non-composite rational first integral.

    2. (b)

      Now, we study the opposite situation: (Q(0,c1):P(0,c1))σ(P,Q)(Q(0,c_{1}):P(0,c_{1}))\in\sigma(P,Q) or (Q(0,c2):P(0,c2))σ(P,Q)(Q(0,c_{2}):P(0,c_{2}))\in\sigma(P,Q). If the algorithm computes M1M_{1} and M2M_{2} but M1/M2M_{1}/M_{2} is not a rational first integral, then it returns “I don’t know”. A first example where this case is encountered is given in Subsection 6.3. Furthermore, we may be unlucky enough to choose two bad values of the cic_{i}’s, i.e., (Q(0,ci):P(0,ci))σ(P,Q)(Q(0,c_{i}):P(0,c_{i}))\in\sigma(P,Q) for i=1, 2i=1,\,2. For example if we consider

      A(x,y)=4x3+4xy2+6x22y22x,B(x,y)=4x2y+4y3+4xy2y,A(x,y)=-4\,{x}^{3}+4\,x{y}^{2}+6\,{x}^{2}-2\,{y}^{2}-2\,x,\;B(x,y)=-4\,{x}^{2}y+4\,{y}^{3}+4\,x\,y-2\,y,

      then (𝖲\mathsf{S}) has a non-composite rational first integral P/QP/Q of degree 22, where P(x,y)=(yx)(yx+1)P(x,y)=(y-x)\,(y-x+1) and Q(x,y)=(y+x)(y+x1)Q(x,y)=(y+x)\,(y+x-1). But if we choose c1=1c_{1}=-1 and c2=1c_{2}=1, then we will construct two Darboux polynomials M1(x,y)=yx+1M_{1}(x,y)=y-x+1 and M2(x,y)=y+x1M_{2}(x,y)=y+x-1 of degree only 11 that are minimal polynomials of yc1y_{c_{1}} and yc2y_{c_{2}}. As deg(M1/M2)\deg(M_{1}/M_{2}) is strictly smaller than deg(P/Q)\deg(P/Q), we obtain 𝒟(M1/M2)0{\mathcal{D}}(M_{1}/M_{2})\neq 0 and the algorithm returns “I don’t know”.

  2. (2)

    (𝖲\mathsf{S}) does not have a rational first integral with degree at most NN.

    1. (a)

      If ()(\star) has no non-trivial solutions, then the algorithm returns “None”.

    2. (b)

      If ()(\star) has non-trivial solutions, then the algorithm returns “I don’t know”. This situation can occur for example when:

      • (𝖲\mathsf{S}) has no rational first integral but it has Darboux polynomials and the choice of c1c_{1} and c2c_{2} gives two Darboux polynomials. For an example of a derivation without rational first integral but with Darboux polynomials, see [Chè11, Remark 15].

      • (𝖲\mathsf{S}) has a rational first integral with degree bigger than the given bound NN.
        For example, consider the derivation 𝒟=(x+1)xyy{\mathcal{D}}=(x+1)\,\frac{\partial}{\partial x}-y\,\frac{\partial}{\partial y} and the degree bound N=1N=1. In this situation, the differential equation is (E):dydx=yx+1(E):\frac{dy}{dx}=\frac{-y}{x+1} which admits yc(x)=c1+xy_{c}(x)=\frac{c}{1+x} as solution. We set M(x,y)=α+βx+γyM(x,y)=\alpha+\beta x+\gamma y, and then M(x,yc(x))=0modx2M(x,y_{c}(x))=0\mod x^{2} gives M(x,y)=γ(c+cx+y)M(x,y)=\gamma(-c+cx+y). However, M(x,yc(x))=x2modx3M(x,y_{c}(x))=x^{2}\mod x^{3}, thus yc(x)y_{c}(x) is not a root of MM. Here 𝒟{\mathcal{D}} admits the rational first integral y(x+1)y\,(x+1) so if we set N=2N=2 in the input, our algorithm returns a non-composite rational first integral of degree 22. In this case we compute yc(x)modx5y_{c}(x)\mod x^{5}.

Remark 24.

The bivariate polynomials Mi~\tilde{M_{i}}’s computed in Step (1b) have total degree at most NN so they have (N+1)(N+2)/2(N+1)(N+2)/2 coefficients. Note that, if we assume N3N\geq 3, then we have N2+1(N+1)(N+2)/2N^{2}+1\geq(N+1)(N+2)/2. It is tempting to try to compute the Mi~\tilde{M_{i}}’s using only, say, (N+1)(N+2)/2+2(N+1)(N+2)/2+2 terms of the power series. This will make the computation a little bit faster, but then the method becomes only a nice heuristic and may fail.

4.2. A deterministic algorithm

Algorithm ProbabilisticRationalFirstIntegral is now turned into a deterministic algorithm. The idea is that if a rational first integral with degree at most NN exists then, if we run at most N((d)+1)+1N\,(\mathcal{B}(d)+1)+1 times ProbabilisticRationalFirstIntegral, we will get a non-composite rational first integral of degree at most NN.

Algorithm DeterministicRationalFirstIntegral

Input:A,B𝕂[x,y]A,\,B\in{\mathbb{K}}[x,y] s.t. A(0,y)0A(0,y)\not\equiv 0 and a bound NN\in{\mathbb{N}}.
Output: A non-composite rational first integral of (𝖲\mathsf{S}) of degree N\leq N or “None”.

  1. (1)

    Let Ω:=\Omega:=\emptyset.

  2. (2)

    While |Ω|2N((d)+1)+2|\Omega|\leq 2\,N\,(\mathcal{B}(d)+1)+2 do

    1. (a)

      Choose two random elements c1,c2𝕂Ωc_{1},\,c_{2}\in{\mathbb{K}}\setminus\Omega\, s.t. c1c2c_{1}\neq c_{2} and A(0,ci)0A(0,c_{i})\neq 0 for i=1, 2i=1,\,2.

    2. (b)

      F:=ProbabilisticRationalFirstIntegral(A,B,(c1,c2),N)F:=\textsf{ProbabilisticRationalFirstIntegral}(A,B,(c_{1},c_{2}),N).

    3. (c)

      If F=F=“None”, then Return “None”.

    4. (d)

      Else if F=F=[“I don’t know”,[e2][e_{2}]], then Ω:=Ω{c1,e2}\Omega:=\Omega\cup\{c_{1},e_{2}\} and go to Step (2).

    5. (e)

      Else Return FF.

  3. (3)

    Return “None”.

Theorem 25.

Algorithm DeterministicRationalFirstIntegral is correct: it returns a rational first integral of degree at most NN if and only if it exists, and it returns “None” if and only if there is no rational first integral of degree at most NN.

Proof.

Assume that (𝖲\mathsf{S}) has a non-composite rational first integral P/QP/Q with degree at most NN. If F=F=“I don’t know” in Step (2), then from Theorem 22, at least one of the cic_{i}’s satisfies (Q(0,ci):P(0,ci))σ(P,Q)(Q(0,c_{i}):P(0,c_{i}))\in\sigma(P,Q). The number of such “bad” values of the cic_{i}’s is bounded by N((d)+1)N\,(\mathcal{B}(d)+1) by Lemma 14. Hence if we repeat ProbabilisticRationalFirstIntegral at least N((d)+1)+1N\,(\mathcal{B}(d)+1)+1 times, then we will get a good pair (c1,c2)(c_{1},c_{2}) and by Theorem 22, the probabilistic algorithm will then return a non-composite rational first integral of degree at most NN.
Now assume that (𝖲\mathsf{S}) has no rational first integral of degree at most NN. Then by Theorem 22, ProbabilisticRationalFirstIntegral returns “None” or “I don’t know”.
If in Step (2), FF=“None”, then we have a correct output. Now if FF=“I don’t know”, then the algorithm uses again ProbabilisticRationalFirstIntegral with new values of the cic_{i}’s and, after at most N((d)+1)+1N(\mathcal{B}(d)+1)+1 trials, it returns “None” which is the correct output. ∎

5. Complexity analysis and algorithmic issues

In this section, we describe how the different steps of algorithms ProbabilisticRationalFirstIntegral and DeterministicRationalFirstIntegral can be performed efficiently and we study their arithmetic complexities. For the complexity issues, we focus on the dependency on the degree bound NN and we recall that we assume that NdN\geq d, where d=max(deg(A),deg(B))d=\max(\deg(A),\deg(B)) denotes the degree of the polynomial vector field. More precisely, we suppose that dd is fixed and NN tends to infinity.

All the complexity estimates are given in terms of arithmetic operations in 𝕂{\mathbb{K}}. We use the notation f𝒪~(g)f\in\tilde{\mathcal{O}}(g): roughly speaking, it means that ff is in 𝒪(glogm(g))\mathcal{O}(g\,\log^{m}(g)) for some m1m\geq 1. For a precise definition, see [gGG99, Definition 25.8]. We suppose that the Fast Fourier Transform can be used so that two univariate polynomials with coefficients in 𝕂{\mathbb{K}} and degree bounded by DD can be multiplied in 𝒪~(D)\tilde{\mathcal{O}}(D), see [gGG99]. We further assume that two matrices of size nn with entries in 𝕂{\mathbb{K}} can be multiplied using 𝒪(nω)\mathcal{O}(n^{\omega}), where 2ω32\leq\omega\leq 3 is the matrix multiplication exponent, see [gGG99, Ch. 12]. We also recall that a basis of solutions of a linear system composed of mm equations and nmn\leq m unknowns over 𝕂{\mathbb{K}} can be computed using 𝒪(mnω1)\mathcal{O}(m\,n^{\omega-1}) operations in 𝕂{\mathbb{K}}, see [BP94, Chapter 2].

5.1. Computation of a regular point

In the algorithms given in the previous sections, we have to choose a regular point for the differential equation (𝖤\mathsf{E}), i.e., a point x0x_{0} satisfying A(x0,y)0A(x_{0},y)\not\equiv 0. To achieve this, we can start from the point x0=0x_{0}=0, evaluate A(x,y)A(x,y) at x=x0x=x_{0}. If A(x0,y)0A(x_{0},y)\not\equiv 0, then we are done. Else, we shift x0x_{0} by one to get x0=1x_{0}=1 and we iterate the process. Note that the number of iterations is at most dd. Consequently, this step can be performed by evaluating dd polynomials (namely the coefficients of A(x,y)A(x,y) viewed as polynomials in the variable yy) of degree bounded by dd at dd points (x0=0, 1,2,,d1x_{0}=0,\,1,2,\dots,d-1). This can thus be done in 𝒪~(d2)\tilde{\mathcal{O}}(d^{2}) arithmetic operations, see [gGG99, Corollary 10.8]. This is why, in our algorithms, we always suppose, at neglectable cost and without loss of generality, that A(0,y)0A(0,y)\not\equiv 0.

5.2. Power series solutions of (𝖤\mathsf{E})

In Step (1) of the algorithm ProbabilisticRationalFirstIntegral, we compute the N2+1N^{2}+1 first terms of the power series solution of (𝖤\mathsf{E}) satisfying a given initial condition. Using the result of Brent and Kung (see [BK78, Theorem 5.1]) based on formal Newton iteration, this can be done using 𝒪~(dN2)\tilde{\mathcal{O}}(d\,N^{2}) arithmetic operations, see also [BCO+07].

5.3. Guessing the minimal polynomial of an algebraic power series

We shall now give a method for solving Problem ()(\star) in Step (1b) of Algorithm ProbabilisticRationalFirstIntegral. The problem is the following: given the first N2+1N^{2}+1 terms of a power series y^(x)\hat{y}(x), find (if it exists), a bivariate polynomial M𝕂[x,y]M\in{\mathbb{K}}[x,y], with minimal degree in yy, such that M(x,y^(x))0modxN2+1M(x,\hat{y}(x))\equiv 0\mod x^{N^{2}+1}. This can be handled by an undetermined coefficients approach as follows:

Algorithm GuessMinimalPolynomial

Input: A polynomial y^𝕂[x]\hat{y}\in{\mathbb{K}}[x] s.t. deg(y^)(N2+1)\deg(\hat{y})\leq(N^{2}+1), with NN\in{\mathbb{N}}.
Output: A minimal solution of ()(\star) with degree N\leq N or “None”.

  1. (1)

    Let M(x,y)=i=0N(j=0Nimi,jxj)yiM(x,y)=\sum_{i=0}^{N}\,\left(\sum_{j=0}^{N-i}m_{i,j}\,x^{j}\right)\,y^{i} be an ansatz for the bivariate polynomial that we are searching for.

  2. (2)

    Construct the linear system ()(\mathcal{L}) for the mi,jm_{i,j}’s given by:

    M(x,y^(x))=i=0N(j=0Nimi,jxj)y^(x)i0modxN2+1.M(x,\hat{y}(x))=\sum_{i=0}^{N}\,\left(\sum_{j=0}^{N-i}m_{i,j}\,x^{j}\right)\,\hat{y}(x)^{i}\equiv 0\mod x^{N^{2}+1}.
  3. (3)

    If ()(\mathcal{L}) does not have a non-trivial solution, then Return “None”.

  4. (4)

    Else compute a row-echelon form of a basis of solutions of ()(\mathcal{L}) to find a solution M(x,y)M(x,y) of minimal degree in yy and Return it.

Proposition 26.

Algorithm GuessMinimalPolynomial is correct. If we suppose that N3N\geq 3, then it uses at most 𝒪~(N2ω)\tilde{\mathcal{O}}(N^{2\omega}) arithmetic operations in 𝕂{\mathbb{K}}.

Proof.

The correctness of the algorithm is straightforward. Let us study its arithmetic complexity. To construct the linear system ()(\mathcal{L}), we have to compute y^(x)imodxN2+1\hat{y}(x)^{i}\mod x^{N^{2}+1} for i=0,,Ni=0,\ldots,N. This can be done in 𝒪~(N3)\tilde{\mathcal{O}}(N^{3}) arithmetic operations. The linear system ()(\mathcal{L}) has N2+1N^{2}+1 equations and (N+1)(N+2)/2=𝒪(N2)(N+1)\,(N+2)/2=\mathcal{O}(N^{2}) unknowns mi,jm_{i,j}’s. Note that we assume N3N\geq 3 so that N2+1(N+1)(N+2)/2N^{2}+1\geq(N+1)\,(N+2)/2. It can thus be solved using 𝒪(N2(N2)ω1)\mathcal{O}(N^{2}\,(N^{2})^{\omega-1}) operations. Finally, in Step (4), the row-echelon form can be computed using at most 𝒪~(N2ω)\tilde{\mathcal{O}}(N^{2\,\omega}) arithmetic operations (see [BP94, Chapter 3]) since the dimension of a basis of solutions of ()(\mathcal{L}) does not exceed 𝒪(N2)\mathcal{O}(N^{2}), which ends the proof. ∎

5.4. Total cost of our algorithms

Theorem 27.

Algorithm ProbabilisticRationalFirstIntegral uses at most 𝒪~(N2ω)\tilde{\mathcal{O}}(N^{2\omega}) arithmetic operations in 𝕂{\mathbb{K}}, when NN tends to infinity and dd is fixed.

Proof.

In Subsection 5.2, we have seen that Step (1a) can be performed in at most 𝒪~(dN2)\tilde{\mathcal{O}}(d\,N^{2}) arithmetic operations. Then, using Algorithm GuessMinimalPolynomial, Step (1b) can be performed in 𝒪~(N2ω)\tilde{\mathcal{O}}(N^{2\,\omega}) operations in 𝕂{\mathbb{K}}, see Subsection 5.3. In Step (1c), we have to compute the primitive part relatively to yy of a minimal solution of ()(\star). This reduces to computing NN gcd\gcd’s of univariate polynomials of degree at most NN which can be done in 𝒪(N3)\mathcal{O}(N^{3}) operations in 𝕂{\mathbb{K}} (and even faster using half-gcd techniques). In Step (1d), we must avoid the roots of M1(0,y)A(0,y)M_{1}(0,y)\,A(0,y) thus we need to run the while loop at most d+N+1d+N+1 times. In this loop we evaluate univariate polynomials with degree at most dd and NN, thus it uses at most 𝒪~((d+N)2)\tilde{\mathcal{O}}((d+N)^{2}) arithmetic operations. Finally, we test if 𝒟(M1/M2)=0{\mathcal{D}}(M_{1}/M_{2})=0 which costs 𝒪~((d+N)2)\tilde{\mathcal{O}}((d+N)^{2}) arithmetic operations since NdN\geq d. Indeed, we multiply bivariate polynomials of degree at most NN and we add bivariate polynomials of degree at most d+2N1d+2N-1. ∎

Corollary 28.

The deterministic algorithm DeterministicRationalFirstIntegral can be done using at most 𝒪~(d2N2ω+1)\tilde{\mathcal{O}}(d^{2}\,N^{2\omega+1}) arithmetic operations, when NN tends to infinity and dd is fixed.

In the previous statement, even if dd is fixed, we mention it in the complexity in order to emphasize on the number of iterations of the probabilistic algorithm.

Proof.

This estimate is straightforward from Theorem 27 since Algorithm DeterministicRationalFirstIntegral calls at most N((d)+1)+1N\,(\mathcal{B}(d)+1)+1 times the algorithm ProbabilisticRationalFirstIntegral.∎

5.5. Faster heuristic using Padé-Hermite approximation

The algorithm GuessMinimalPolynomial developed in Subsection 5.3 uses an undetermined coefficients method to compute a minimal solution of ()(\star) in Step (1b) of Algorithm ProbabilisticRationalFirstIntegral. It consists in finding (if it exists) the minimal polynomial of a power series. In the present section, we propose another approach to solve that problem using Padé-Hermite approximation, see [BL94].
Indeed, the problem of computing a bivariate polynomial annihilating a power series can be handled by means of computing a Padé-Hermite approximant, see [Sha74, Sha78]. More precisely, given a power series y^(x)\hat{y}(x), if there exists a bivariate polynomial MM of degree NN such that M(x,y^(x))=0M(x,\hat{y}(x))=0, then the coefficients of the powers of yy are a Padé-Hermite approximant of type (N,N1,,0)(N,N-1,\ldots,0) of the vector of power series (1,y^(x),,y^(x)N)T(1,\hat{y}(x),\ldots,\hat{y}(x)^{N})^{T}. Computing such a Padé-Hermite approximant provides a polynomial M~\tilde{M} satisfying M~(x,y^(x))0modxσ\tilde{M}(x,\hat{y}(x))\equiv 0\mod x^{\sigma} where σ=N(N+1)/2+N1\sigma=N\,(N+1)/2+N-1. Unfortunately σ<N2+1\sigma<N^{2}+1 so that we have no way to ensure, using Lemma 18, that the Padé-Hermite approximant computed satisfies M~(x,y^(x))=0\tilde{M}(x,\hat{y}(x))=0. Consequently, using this method to compute the MiM_{i}’s in Step (1b) of Algorithm ProbabilisticRationalFirstIntegral only provides a heuristic.

Proposition 29.

Using Padé-Hermite approximation in Step (1b), Algorithm ProbabilisticRationalFirstIntegral becomes a heuristic for computing a non-composite rational first integral of (𝖲\mathsf{S}) of degree at most NN using only 𝒪~(Nω+2)\tilde{\mathcal{O}}(N^{\omega+2}) arithmetic operations.

Proof.

Beckermann-Labahn’s algorithm (see [BL94]) computes a Padé-Hermite approximant of type (N,N1,,1)(N,N-1,\ldots,1) of the vector of power series (1,y^(x),,y^(x)N)T(1,\hat{y}(x),\ldots,\hat{y}(x)^{N})^{T} in 𝒪~(Nωσ)\tilde{\mathcal{O}}(N^{\omega}\,\sigma) arithmetic operations, where σ=N(N+1)/2+N1\sigma=N\,(N+1)/2+N-1. Using the proof of Theorem 27, we obtain the desired complexity estimate. ∎

6. Implementation and experiments

The algorithms developed in the previous sections have been implemented in a Maple package called RationalFirstIntegrals. It is available with some examples at http://www.ensil.unilim.fr/~cluzeau/RationalFirstIntegrals.html.

Our implementation of the heuristic proposed in Subsection 5.5 is called HeuristicRationalFirstIntegral. It uses the gfun package [SZ94]222http://perso.ens-lyon.fr/bruno.salvy/?page_id=48 and more precisely its seriestoalgeq command to search for a bivariate polynomial annihilating the power series computed using Padé-Hermite approximation.

We shall now illustrate our implementation and give some timings333All the computations were made on a 2.7 GHz Intel Core i7.

6.1. Comparison to previous methods

We start by comparing our implementation DeterministicRationalFirstIntegral to two previous methods, namely:

  1. (1)

    the naive approach which consists in using the method of undetermined coefficients to search for two polynomials PP and QQ of degree at most NN satisfying 𝒟(P)QP𝒟(Q)=0{\mathcal{D}}(P)\,Q-P\,{\mathcal{D}}(Q)=0. This implies solving a system of quadratic equations in the coefficients of PP and QQ. In our implementation, we use the solve command of Maple to solve the quadratic system,

  2. (2)

    the approach developed in [Chè11] based on the ecstatic curve.

Consider the planar polynomial vector field given by A(x,y)=7x+22y55A(x,y)=-7\,x+22\,y-55 and B(x,y)=94x+87y56B(x,y)=-94\,x+87\,y-56 which has no rational first integral of degree less than 66. The following table compares the timings (in seconds) of the different implementations for proving the non-existence of a rational first integral of degree less than N=2,,6N=2,\ldots,6.

NN Method DeterministicRFI Ecstatic curve Naive method
22 0.043 0.003 0.257
33 0.006 0.024 0.043
44 0.016 3.310 4.438
55 0.041 74.886 16.202
66 0.140 1477.573 88.482

If we now consider the vector field given by the polynomials A(x,y)=x+2A(x,y)=x+2 and B(x,y)=x22xyy22xy2B(x,y)=-x^{2}-2\,x\,y-y^{2}-2\,x-y-2 which admits the rational first integral x2+xy2x+y+1\frac{x^{2}+x\,y-2}{x+y+1} of degree 22, we obtain the following timings (in seconds) depending on the degree bound NN given in the input:

NN Method DeterministicRFI Ecstatic curve Naive method
22 0.012 0.003 0.137
33 0.019 0.019 1.961
44 0.042 0.283 5.398
55 0.087 1.662 22.580
66 1.276 8.491 80.491

In the latter table, the timings indicated for the “ecstatic curve method” correspond only to the computation of the NNth ecstatic curve (which will be zero in all cases as there exists a rational first integral of degree 22) and not to the entire computation of a rational first integral of degree at most NN which requires some more computations, see [Chè11, Subsection 5.2] for more details. The output of the two other methods consists in a rational first integral of degree 22.

The timings presented in this subsection illustrate that our implementation of DeterministicRationalFirstIntegral is significantly faster than our implementations of the two previous methods considered both in the case where there exists no rational first integral and in the case where there exists a rational first integral. This is coherent with the complexity analysis developed in this article.

6.2. Generic polynomial vector fields

If we choose at random two bivariate polynomials AA and BB, then the associated planar polynomial vector field has generically no rational first integral. In this subsection, we show that our implementation of DeterministicRationalFirstIntegral detects quickly the non-existence of rational first integral of these generic polynomial vector fields. The following table of timings is constructed as follows: for d=1,,10d=1,\ldots,10, we generate two randomized bivariate polynomials AA and BB of degree dd using the randpoly command of Maple and we check that A(0,y)0A(0,y)\not\equiv 0. Then, we run DeterministicRationalFirstIntegral with N=d,,10N=d,\ldots,10 and we indicate the timings (in seconds) for detecting the non-existence of a rational first integral of degree at most NN, i.e., for returning the output “None”.

dd NN 11 22 33 44 55 66 77 88 99 1010
11 0.007 0.043 0.006 0.017 0.049 0.157 0.294 1.054 2.275 5.010
22 - 0.044 0.008 0.022 0.070 0.214 0.588 1.055 4.644 11.249
33 - - 0.008 0.161 0.084 0.273 0.498 1.458 5.267 7.676
44 - - - 0.043 0.107 0.577 0.298 2.354 9.688 9.10
55 - - - - 0.133 0.466 0.812 2.439 3.054 8.012
66 - - - - - 0.533 0.967 1.557 5.946 5.031
77 - - - - - - 0.663 1.323 4.724 9.834
88 - - - - - - - 2.468 3.551 5.756
99 - - - - - - - - 7.898 18.127
1010 - - - - - - - - - 18.295

6.3. Our probabilistic algorithm may fail

We now illustrate one particular case where our probabilistic algorithm ProbabilisticRationalFirstIntegral fails and returns “I don’t know”. Consider the polynomial vector field given by the polynomials

A(x,y)=x6x5+2x4yx4+2x3yx2y2+xy2x22xy+y2+x2y+1,A(x,y)={x}^{6}-{x}^{5}+2\,{x}^{4}y-{x}^{4}+2\,{x}^{3}y-{x}^{2}{y}^{2}+x{y}^{2}-{x}^{2}-2\,xy+{y}^{2}+x-2\,y+1,
B(x,y)=x6+2x5y3x4y+4x3y2+3x44x3y+3x2y22xy3+y33x2+2xyy2y+1,B(x,y)=-{x}^{6}+2\,{x}^{5}y-3\,{x}^{4}y+4\,{x}^{3}{y}^{2}+3\,{x}^{4}-4\,{x}^{3}y+3\,{x}^{2}{y}^{2}-2\,x{y}^{3}+{y}^{3}-3\,{x}^{2}+2\,xy-{y}^{2}-y+1,

which admits the rational first integral of degree 44

F(x,y)=P(x,y)Q(x,y)=(yx)(x2+y1)x4+y21.F(x,y)=\frac{P(x,y)}{Q(x,y)}={\frac{\left(y-x\right)\left({x}^{2}+y-1\right)}{{x}^{4}+{y}^{2}-1}}.

If we run ProbabilisticRationalFirstIntegral with the bound N=4N=4 and c1=0c_{1}=0 or c2=0c_{2}=0 in the input, then we get “I don’t know”. The reason why our algorithm fails is that (Q(0,0):P(0,0))=(1:0)σ(P,Q)(Q(0,0):P(0,0))=(-1:0)\in\sigma(P,Q) since P(x,y)=(yx)(x2+y1)-P(x,y)=-\left(y-x\right)\left({x}^{2}+y-1\right) is a reducible polynomial (and also a polynomial of degree less than N=4N=4). Of course, running ProbabilisticRationalFirstIntegral with values of c1c_{1} and c2c_{2} such that (Q(0,ci):P(0,ci))σ(P,Q)(Q(0,c_{i}):P(0,c_{i}))\not\in\sigma(P,Q) for i=1, 2i=1,\,2 provides the correct output, i.e., a rational first integral of degree N=4N=4; see the explanations at the end of Subsection 4.1. The deterministic algorithm DeterministicRationalFirstIntegral calls recursively ProbabilisticRationalFirstIntegral and exploits the fact that there only exists a finite number of such bad values of the cic_{i}’s. So in this example, it returns correctly a rational first integral of degree N=4N=4.

6.4. Examples from the work of Ferragut and Giacomini

Let us consider [FG10, Example 1], where we have

A(x,y)=6x4+27x39x2y+42x224xy+4y2+21x7y+4,A(x,y)=6\,{x}^{4}+27\,{x}^{3}-9\,{x}^{2}y+42\,{x}^{2}-24\,xy+4\,{y}^{2}+21\,x-7\,y+4,

and

B(x,y)=18x4+99x339x2y+2xy2+150x280xy+12y2+71x21y+12.B(x,y)=18\,{x}^{4}+99\,{x}^{3}-39\,{x}^{2}y+2\,x{y}^{2}+150\,{x}^{2}-80\,xy+12\,{y}^{2}+71\,x-21\,y+12.

A first integral of degree 44 was found in 1212 seconds using their algorithm (see [FG10]) which was a notable improvement on previous methods. In comparison, running HeuristicRationalFirstIntegral (or DeterministicRationalFirstIntegral) with N=4N=4 we get such a rational first integral F=P/QF=P/Q in 0.0220.022 seconds, where

P(x,y)=216x4+144x3y24x2y2720x3+528x2y144xy2\displaystyle P(x,y)=-216\,{x}^{4}+144\,{x}^{3}\,y-24\,{x}^{2}\,{y}^{2}-720\,{x}^{3}+528\,{x}^{2}\,y-144\,x\,{y}^{2}
+16y3+8868x2+432xy72y2+28548x9516y+9580,\displaystyle+16\,{y}^{3}+8868\,{x}^{2}+432\,x\,y-72\,{y}^{2}+28548\,x-9516\,y+9580,

and

Q(x,y)=513x4342x3y+57x2y2+1710x31254x2y+342xy2\displaystyle Q(x,y)=513\,{x}^{4}-342\,{x}^{3}\,y+57\,{x}^{2}\,{y}^{2}+1710\,{x}^{3}-1254\,{x}^{2}\,y+342\,x\,{y}^{2}
38y310869x21026xy+171y237224x+12408y12560.\displaystyle-38\,{y}^{3}-10869\,{x}^{2}-1026\,x\,y+171\,{y}^{2}-37224\,x+12408\,y-12560.

Two observations allow us to obtain a more compact form for FF. First, looking at the syzygy in the leading term in x4x^{4}, we see that

513P(x,y)+216Q(x,y)=2201580(x2+3xy+1).513\;P(x,y)+216\;Q(x,y)=2201580\;({x}^{2}+3\,x-y+1).

Secondly, the discriminant of PcQP-c\;Q shows that 117P+89Q117\;P+89\;Q has a multiple factor, namely

117P(x,y)+89Q(x,y)=755(3x2+6x2y+1)(2+3xy)2.117\;P(x,y)+89\;Q(x,y)=755\,\left(3\,{x}^{2}+6\,x-2\,y+1\right)\left(2+3\,x-y\right)^{2}.

It follows that we have the following “nicer” rational first integral:

F~(x,y)=x2+3xy+1(3x2+6x2y+1)(2+3xy)2.\tilde{F}(x,y)={\frac{{x}^{2}+3\,x-y+1}{\left(3\,{x}^{2}+6\,x-2\,y+1\right)\left(2+3\,x-y\right)^{2}}}.

This simplification heuristics (using the spectrum) of the expression of a rational first integral to a more compact form can be obtained automatically by running the command SimplifyRFI of our package RationalFirstIntegrals.

In this example, the generic algorithm GenericRationalFirstIntegral run with N=4N=4 takes 0.3420.342 seconds to compute a rational first integral; we see that, though it is 1515 times slower than HeuristicRationalFirstIntegral (or DeterministicRationalFirstIntegral), it still has good performances on relatively small degrees.

Let us now have a look at the polynomial vector field given by

A(x,y)=18x8y820x6y96x2y12+24x10y36x4y94y133x127x2y10,A(x,y)=-18\,{x}^{8}{y}^{8}-20\,{x}^{6}{y}^{9}-6\,{x}^{2}{y}^{12}+24\,{x}^{10}{y}^{3}-6\,{x}^{4}{y}^{9}-4\,{y}^{13}-3\,{x}^{12}-7\,{x}^{2}{y}^{10},
B(x,y)=2x(16x6y9+8x1418x4y102y13+10x8y42x2y102x10y3y11),B(x,y)=2\,x\left(-16\,{x}^{6}{y}^{9}+8\,{x}^{14}-18\,{x}^{4}{y}^{10}-2\,{y}^{13}+10\,{x}^{8}{y}^{4}-2\,{x}^{2}{y}^{10}-2\,{x}^{10}y-3\,{y}^{11}\right),

considered by A. Ferragut in one of his talks concerning [FG10]. It admits a rational first integral of degree 1818. We have run our implementations of HeuristicRationalFirstIntegral and ProbabilisticRationalFirstIntegral with the given bounds N=3, 6, 9, 12, 15N=3,\,6,\,9,\,12,\,15, and 1818 in the input. The following table presents the outputs and the timings (in seconds) that we have obtained:

Algorithm NN 3 6 9 12 15 18
Output Heuristic ? ? ? ? ? FF
Time Heuristic 0.031 1.672 29.858 319.799 1735.189 19.548
Output Probabilistic ? None None None None FF
Time Probabilistic 0.015 0.066 1.023 5.386 28.714 252.842

In the latter table, ? means that our implementation returns “I don’t know” and F=P/QF=P/Q is the rational first integral of degree 1818 given by

P(x,y)=24x2y9+24x1024y10,P(x,y)=-24\,{x}^{2}{y}^{9}+24\,{x}^{10}-24\,{y}^{10},
Q(x,y)\displaystyle Q(x,y) =8x1824x12y4+12x14y+24x6y824x8y5+6x10y28y12+44x2y9\displaystyle=8\,{x}^{18}-4\,{x}^{12}{y}^{4}+2\,{x}^{14}y+4\,{x}^{6}{y}^{8}-4\,{x}^{8}{y}^{5}+6\,{x}^{10}{y}^{2}-8\,{y}^{12}+4\,{x}^{2}{y}^{9}
32x106x4y6+32y10+x6y3.\displaystyle-2\,{x}^{10}-6\,{x}^{4}{y}^{6}+2\,{y}^{10}+{x}^{6}{y}^{3}.

Note that we obtain approximatively the same timings if we run the deterministic algorithm DeterministicRationalFirstIntegral instead of ProbabilisticRationalFirstIntegral. We can remark that our implementation of HeuristicRationalFirstIntegral is faster in this example than our implementation of ProbabilisticRationalFirstIntegral when there exists a rational first integral whereas ProbabilisticRationalFirstIntegral is much faster at discarding cases when no rational first integral exists. Moreover, we can see that, in this example, HeuristicRationalFirstIntegral only returns “I don’t know” for N=6, 9, 12, 15N=6,\,9,\,12,\,15 whereas in these cases, ProbabilisticRationalFirstIntegral proves that there is no rational first integral of degree at most NN. Note that these two drawbacks of HeuristicRationalFirstIntegral come from our implementation, which uses the command seriestoalgeq of the gfun package, and not from the algorithm itself.

In this example, if we replace QQ by P+34QP+\frac{3}{4}\,Q, we obtain a new rational first integral F~=PP+34Q\tilde{F}=\frac{P}{P+\frac{3}{4}\,Q} which has a “nicer” (more compact) form

F~(x,y)=x2y9x10+y10(2x62y4+x2y)3.\tilde{F}(x,y)={\frac{{x}^{2}{y}^{9}-{x}^{10}+{y}^{10}}{\left(2\,{x}^{6}-2\,{y}^{4}+{x}^{2}y\right)^{3}}}.

This simplification of the expression of the rational first integral P/QP/Q to a more compact form is obtained with the command SimplifyRFI of our package.

6.5. A hypergeometric example

P1:=4n2(x1)(x+1);Q1:=1+(4n2x2+4n2)y24xyn2;P1:=4*n^{2}*(x-1)*(x+1);Q1:=1+(-4*n^{2}*x^{2}+4*n^{2})*y^{2}-4*x*y*n^{2};

Consider the family of polynomial vector fields given by A=4n2(x1)(x+1)A=4\,{n}^{2}\left(x-1\right)\left(x+1\right) and B=1+(4n2x2+4n2)y24xyn2B=1+\left(-4\,{n}^{2}\,{x}^{2}+4\,{n}^{2}\right){y}^{2}-4\,x\,y\,{n}^{2}. For each integer nn\in\mathbb{N}^{*}, it admits a rational first integral of degree N=4n+1N=4\,n+1. This system is derived from the Riccati equation of a standard hypergeometric equation with a finite dihedral differential Galois group, see [vHW05]. The following table contains the timings (in seconds) for HeuristicRationalFirstIntegral to find a rational first integral of degree N=4n+1N=4\,n+1 when it is run with N=4n+1N=4\,n+1.

nn 2 4 6 8 10
Degree NN 9 17 25 33 41
Time Heuristic 0.540 12.548 118.804 592.494 3247.325

In short, it takes 22 minutes to compute a rational first integral of degree 2525 and 5252 minutes to compute a rational first integral of degree 4141 for this family of examples.

6.6. An Abel equation

We consider the rationally integrable Abel differential equation (3)(3) in the article of Gine and Llibre [GL10]. It corresponds to the polynomial vector field given by A(x,y)=x(8y9)A(x,y)=x\left(8\,y-9\right) and B(x,y)=3y2x3yB(x,y)=3\,{y}^{2}-x-3\,y. A rational first integral of degree 1212 is computed in 4.1424.142 seconds by HeuristicRationalFirstIntegral and in 31.97631.976 seconds by DeterministicRationalFirstIntegral if they are both run with N=12N=12. The rational first integral returned by HeuristicRationalFirstIntegral is given by P/QP/Q with

P(x,y)\displaystyle P(x,y) =80y12+480xy10+1200x2y81440xy9+1600x3y65760x2y7+1200x4y4\displaystyle=0\,{y}^{12}+80\,x{y}^{10}+200\,{x}^{2}{y}^{8}-440\,x{y}^{9}+600\,{x}^{3}{y}^{6}-760\,{x}^{2}{y}^{7}+200\,{x}^{4}{y}^{4}
8640x3y5+8640x2y6+480x5y25760x4y3+13248x3y4+80x61440x5y\displaystyle-640\,{x}^{3}{y}^{5}+640\,{x}^{2}{y}^{6}+80\,{x}^{5}{y}^{2}-760\,{x}^{4}{y}^{3}+3248\,{x}^{3}{y}^{4}+0\,{x}^{6}-440\,{x}^{5}y
+576x4y213248x3y34032x5+36288x4y27216x4\displaystyle+76\,{x}^{4}{y}^{2}-3248\,{x}^{3}{y}^{3}-032\,{x}^{5}+6288\,{x}^{4}y-7216\,{x}^{4}

and

Q(x,y)\displaystyle Q(x,y) =3y12+18xy10+45x2y854xy9+60x3y6216x2y7+45x4y4324x3y5\displaystyle=3\,{y}^{12}+8\,x{y}^{10}+5\,{x}^{2}{y}^{8}-4\,x{y}^{9}+0\,{x}^{3}{y}^{6}-16\,{x}^{2}{y}^{7}+5\,{x}^{4}{y}^{4}-24\,{x}^{3}{y}^{5}
+324x2y6+18x5y2216x4y3+680x3y4+3x654x5y+388x4y2680x3y3\displaystyle+24\,{x}^{2}{y}^{6}+8\,{x}^{5}{y}^{2}-16\,{x}^{4}{y}^{3}+80\,{x}^{3}{y}^{4}+3\,{x}^{6}-4\,{x}^{5}y+88\,{x}^{4}{y}^{2}-80\,{x}^{3}{y}^{3}
+32x5288x4y+216x4\displaystyle+2\,{x}^{5}-88\,{x}^{4}y+16\,{x}^{4}

Using the SimplifyRFI procedure, we find a rational first integral written in a more compact form:

F(x,y)=(y4+2y2x+x26yx)3x3(4y4+8y2x4y3+4x236yx+27x)F(x,y)={\frac{\left({y}^{4}+2\,{y}^{2}x+{x}^{2}-6\,yx\right)^{3}}{{x}^{3}\left(4\,{y}^{4}+8\,{y}^{2}x-4\,{y}^{3}+4\,{x}^{2}-36\,yx+27\,x\right)}}

7. Computation of Darboux polynomials

In this section, we show how the approach used above for computing rational first integrals of (𝖲\mathsf{S}) of degree bounded by a fixed NN\in{\mathbb{N}} can be slightly modified for computing all irreducible Darboux polynomials for the derivation 𝒟{\mathcal{D}} associated with (𝖲\mathsf{S}) of degree at most NN.
In the output of our algorithms, irreducible Darboux polynomials in 𝕂¯[x,y]\overline{{\mathbb{K}}}[x,y] will be given by M(c,x,y)𝕂[c,x,y]M(c,x,y)\in{\mathbb{K}}[c,x,y] and f(c)𝕂[c]f(c)\in{\mathbb{K}}[c]. The univariate polynomial f(c)f(c) is irreducible in 𝕂[c]{\mathbb{K}}[c] and for all roots cic_{i} of f(c)f(c), we have an irreducible Darboux polynomial M(ci,x,y)𝕂¯[x,y]M(c_{i},x,y)\in\overline{{\mathbb{K}}}[x,y].

7.1. A deterministic algorithm

In this section we give a deterministic algorithm for computing all irreducible Darboux polynomials for the derivation 𝒟{\mathcal{D}} associated with (𝖲\mathsf{S}) of degree at most NN. This algorithm is divided into two steps. First, we compute all irreducible Darboux polynomials M(x,y)M(x,y) such that M(0,y)𝕂M(0,y)\not\in{\mathbb{K}}: this is the task of Algorithm IrreducibleDarbouxPolynomialsPartial below applied to AA and BB. Then, in a second step, we show how we can compute the missing Darboux polynomials (those satisfying M(0,y)𝕂M(0,y)\in{\mathbb{K}}) by applying IrreducibleDarbouxPolynomialsPartial to relevant polynomials constructed from AA and BB by a change of coordinates.

In these algorithms we suppose A(0,y)0A(0,y)\not\equiv 0 and A(0,y)A(0,y), B(0,y)B(0,y) coprime. We can easily reduce our study to this situation. We have already explained how we can get A(0,y)0A(0,y)\not\equiv 0. Now, we just have to remark that the second condition corresponds to the choice of an element which is not a root of the resultant Resy(A(x,y),B(x,y)){\rm Res}_{y}(A(x,y),B(x,y)). Thus after a finite number of shifts, we can assume that A(0,y)0A(0,y)\not\equiv 0 and that A(0,y)A(0,y) and B(0,y)B(0,y) are coprime. In particular, this implies that xx is not a Darboux polynomial and if MM is a Darboux polynomial, then M(0,y)0M(0,y)\not\equiv 0 in 𝕂[y]{\mathbb{K}}[y]. We also assume that 𝒟{\mathcal{D}} would have no rational first integral with degree at most NN. Indeed, from Theorem 6, in this situation 𝒟{\mathcal{D}} has an infinite number of irreducible Darboux polynomials. We can check this hypothesis with the previous algorithms.

Algorithm IrreducibleDarbouxPolynomialsPartial

Input: A,B𝕂[x,y]A,\,B\in{\mathbb{K}}[x,y] s.t. A(0,y)0A(0,y)\not\equiv 0, A(0,y)A(0,y), B(0,y)B(0,y) coprime, and a bound NN\in{\mathbb{N}} such that (𝖲\mathsf{S}) has no rational first integral of degree at most NN.
Output: The set of all irreducible Darboux polynomials MM for the derivation 𝒟{\mathcal{D}} such that deg(M)N\deg(M)\leq N and M(0,y)𝕂M(0,y)\not\in{\mathbb{K}}.

  1. (1)

    :=\mathcal{E}:=\emptyset.

  2. (2)

    For an indeterminate cc, compute the polynomial yc𝕂(c)[x]y_{c}\in{\mathbb{K}}(c)[x] of degree at most (N2+1)(N^{2}+1) s.t. yc(0)=cy_{c}(0)=c and dycdxB(x,yc)A(x,yc)modxN2+1\frac{dy_{c}}{dx}\equiv\frac{B(x,y_{c})}{A(x,y_{c})}\mod x^{N^{2}+1}.

  3. (3)

    For an indeterminate cc, compute the polynomial xc𝕂(c)[y]x_{c}\in{\mathbb{K}}(c)[y] of degree at most (N2+1)(N^{2}+1) s.t. xc(c)=0x_{c}(c)=0 and dxcdyA(xc,y)B(xc,y)modyN2+1\frac{dx_{c}}{dy}\equiv\frac{A(x_{c},y)}{B(x_{c},y)}\mod y^{N^{2}+1}.

  4. (4)

    Let M(x,y)=i=0N(j=0Nimi,jxj)yiM(x,y)=\sum_{i=0}^{N}\,\left(\sum_{j=0}^{N-i}m_{i,j}\,x^{j}\right)\,y^{i} be an ansatz for the Darboux polynomials that we are searching for.

  5. (5)

    Construct the linear system 1(c)\mathcal{L}_{1}(c) for the mi,jm_{i,j}’s given by:

    M(x,yc(c,x))0modxN2+1.M(x,y_{c}(c,x))\equiv 0\mod x^{N^{2}+1}.
  6. (6)

    Construct the linear system 2(c)\mathcal{L}_{2}(c) for the mi,jm_{i,j}’s given by:

    M(xc(c,y),y)0modyN2+1.M(x_{c}(c,y),y)\equiv 0\mod y^{N^{2}+1}.
  7. (7)

    For k=1, 2k=1,\,2 do:

    1. (a)

      Clear the denominator in k(c)\mathcal{L}_{k}(c).

    2. (b)

      Compute the Smith normal form of k(c)\mathcal{L}_{k}(c). Let 𝒫k(c)\mathcal{P}_{k}(c) be the last invariant factor of k(c)\mathcal{L}_{k}(c).

    3. (c)

      Factorize 𝒫k(c)\mathcal{P}_{k}(c) over 𝕂{\mathbb{K}}: 𝒫k(c)=i=1sk𝒫k,i(c)\mathcal{P}_{k}(c)=\prod_{i=1}^{s_{k}}\mathcal{P}_{k,i}(c).

    4. (d)

      For ii from 1 to sks_{k} do:

      1. (i)

        Set 𝕂[ci]:=𝕂[c]/(𝒫k,i(c)){\mathbb{K}}[c_{i}]:={\mathbb{K}}[c]/(\mathcal{P}_{k,i}(c)).

      2. (ii)

        Compute a solution of (ci)\mathcal{L}(c_{i}) s.t. the corresponding polynomial Mk,iM_{k,i} has minimal degree in yy and is primitive w.r.t.  yy.

      3. (iii)

        If gcd(𝒟(Mk,i),Mk,i)=Mk,i\gcd({\mathcal{D}}(M_{k,i}),M_{k,i})=M_{k,i}, then :={[Mk,i(c,x,y),𝒫k,i(c)]}\mathcal{E}:=\mathcal{E}\cup\{[M_{k,i}(c,x,y),\mathcal{P}_{k,i}(c)]\}.

  8. (8)

    Return \mathcal{E}.

Proposition 30.

Algorithm IrreducibleDarbouxPolynomialsPartial is correct.

Proof.

Let MM be an irreducible Darboux polynomial such that M(0,y)𝕂M(0,y)\not\in{\mathbb{K}} and cMc_{M} be a root of M(0,y)M(0,y). Then we have: A(0,cM)0A(0,c_{M})\neq 0 or B(0,cM)0B(0,c_{M})\neq 0 because A(0,y)A(0,y) and B(0,y)B(0,y) are assumed to be coprime.
If A(0,cM)0A(0,c_{M})\neq 0 and M(0,cM)=0M(0,c_{M})=0, then MM admits a root ycM𝕂(x)¯y_{c_{M}}\in\overline{{\mathbb{K}}(x)} such that ycM(0)=cMy_{c_{M}}(0)=c_{M}. Then, from Proposition 17, ycMy_{c_{M}} is a power series solution of (𝖤\mathsf{E}). Thus cMc_{M} is a root of 𝒫1(c)\mathcal{P}_{1}(c). Then, by Lemma 18, MM is constructed in Step (7(d)ii).
If for a constant cMc_{M}, we have B(0,cM)0B(0,c_{M})\neq 0 and M(0,cM)=0M(0,c_{M})=0, then the previous arguments used with 𝒫2(c)\mathcal{P}_{2}(c) show that MM is also constructed. ∎

In the algorithm IrreducibleDarbouxPolynomialsPartial, we compute irreducible Darboux polynomials MM such that M(0,y)𝕂M(0,y)\not\in{\mathbb{K}}. Indeed, the algorithm finds a irreducible Darboux polynomial MM if and only if the curve M(x,y)=0M(x,y)=0 and the line x=0x=0 have an intersection point. Now, we show how to get irreducible Darboux polynomials such that M(0,y)𝕂M(0,y)\in{\mathbb{K}}. The idea is to use a change of coordinates in order to get a new polynomial M~\tilde{M} such that M~(0,y)\tilde{M}(0,y) has a root. If M(0,y)𝕂M(0,y)\in{\mathbb{K}}, then MM has a root at infinity. Thus we consider the following change of coordinates: we set

A(x,y,z)=A(xz,yz)zd,B(x,y,z)=B(xz,yz)zd,M(x,y,z)=M(xz,yz)zk,A^{\sharp}(x,y,z)=A\Big{(}\frac{x}{z},\frac{y}{z}\Big{)}\,z^{d},\,\,B^{\sharp}(x,y,z)=B\Big{(}\frac{x}{z},\frac{y}{z}\Big{)}\,z^{d},\,\,M^{\sharp}(x,y,z)=M\Big{(}\frac{x}{z},\frac{y}{z}\Big{)}\,z^{k},

where k=deg(M)k=\deg(M), and we consider the following polynomials:

A~(y,z)=A(1,y,z),B~(y,z)=B(1,y,z),M~(y,z)=M(1,y,z).\tilde{A}(y,z)=A^{\sharp}(1,y,z),\,\,\tilde{B}(y,z)=B^{\sharp}(1,y,z),\,\,\tilde{M}(y,z)=M^{\sharp}(1,y,z).

A straightforward computation shows that:

Lemma 31.

With the above notation, if MM is a Darboux polynomial for the derivation 𝒟=A(x,y)x+B(x,y)y{\mathcal{D}}=A(x,y)\,\frac{\partial}{\partial x}+B(x,y)\,\frac{\partial}{\partial y}, then M~\tilde{M} is a Darboux polynomial for the derivation

𝒟~=(yA~(y,z)+B~(y,z))yA~(y,z)zz.\tilde{{\mathcal{D}}}=\left(-y\,\tilde{A}(y,z)+\tilde{B}(y,z)\right)\,\frac{\partial}{\partial y}-\tilde{A}(y,z)\,z\,\frac{\partial}{\partial z}.

Furthermore, if M(0,y)𝕂{0}M(0,y)\in{\mathbb{K}}\setminus\{0\}, then M~(0,z)𝕂\tilde{M}(0,z)\not\in{\mathbb{K}}.

We deduce the following algorithm:

Algorithm IrreducibleDarbouxPolynomials

Input: A,B𝕂[x,y]A,\,B\in{\mathbb{K}}[x,y] s.t. A(0,y)0A(0,y)\not\equiv 0, A(0,y)A(0,y), B(0,y)B(0,y) coprime, B~(0,z)0\tilde{B}(0,z)\not\equiv 0, A~(0,y)\tilde{A}(0,y) and B~(0,y)\tilde{B}(0,y) coprime, and a bound NN\in{\mathbb{N}} such that (𝖲\mathsf{S}) has no rational first integral of degree at most NN.
Output: The set of all irreducible Darboux polynomials MM for the derivation 𝒟{\mathcal{D}} such that deg(M)N\deg(M)\leq N.

  1. (1)

    :=IrreducibleDarbouxPolynomialsPartial(A,B,N)\mathcal{E}:=\textsf{IrreducibleDarbouxPolynomialsPartial}(A,B,N).

  2. (2)

    :=IrreducibleDarbouxPolynomialsPartial(yA~+B~,A~z,N)\mathcal{E}^{\prime}:=\textsf{IrreducibleDarbouxPolynomialsPartial}(-y\,\tilde{A}+\tilde{B},-\tilde{A}\,z,N).

  3. (3)

    For all [M~(c,y,z),𝒫(c)][\tilde{M}(c,y,z),\mathcal{P}(c)]\in\mathcal{E}^{\prime} do:

    1. (a)

      M(c,x,y):=M~(c,yx,1x)xdeg(M)M(c,x,y):=\tilde{M}(c,\frac{y}{x},\frac{1}{x})\,x^{\deg(M)}.

    2. (b)

      Add [M(c,x,y),𝒫(c)][M(c,x,y),\mathcal{P}(c)] to \mathcal{E}.

  4. (4)

    Return \mathcal{E}.

For the same reasons as before, using a finite number of shifts we can suppose that the hypotheses “A(0,y)0A(0,y)\not\equiv 0, A(0,y)A(0,y), B(0,y)B(0,y) coprime, B~(0,z)0\tilde{B}(0,z)\not\equiv 0, A~(0,y)\tilde{A}(0,y), B~(0,y)\tilde{B}(0,y) coprime” are satisfied so that these conditions are not restrictive.

As a direct consequence of Proposition 30 and Lemma 31, we obtain the following result.

Proposition 32.

Algorithm IrreducibleDarbouxPolynomials is correct.

7.2. A probabilistic algorithm

As we have seen in Section 5, the computation of a basis of solutions of a system of linear equations is the most costly step of our algorithms. In IrreducibleDarbouxPolynomials, we have to consider four systems of linear equations. The first reason is that in IrreducibleDarbouxPolynomialsPartial, we need to study two linear systems in order to take into account the situation where x=0x=0 is a vertical tangent of the curve M(x,y)=0M(x,y)=0. Indeed, in this situation we can not get a parametrization (x,y(x))\big{(}x,y(x)\big{)} of the curve. The second reason is that we need to use a change of coordinates in order to control the situation where M(0,y)M(0,y) has a root at infinity. Of course, for a generic polynomial vector field, these two situations (i.e., a vertical tangent and a root at infinity) do not appear. We then deduce the following probabilistic algorithm.

Algorithm ProbabilisticIrreducibleDarbouxPolynomials

Input: A,B𝕂[x,y]A,\,B\in{\mathbb{K}}[x,y], a bound NN\in{\mathbb{N}} such that (𝖲\mathsf{S}) has no rational first integral of degree at most NN, and two elements x0,α𝕂x_{0},\,\alpha\in{\mathbb{K}}.
Output: The set of all irreducible Darboux polynomials MM for the derivation 𝒟{\mathcal{D}} such that of deg(M)N\deg(M)\leq N.

  1. (1)

    :=\mathcal{E}:=\emptyset.

  2. (2)

    Set Aα(x,y)=A(x+αy,y)αB(x+αy,y)A_{\alpha}(x,y)=A(x+\alpha\,y,y)-\alpha\,B(x+\alpha\,y,y), Bα(x,y)=B(x+αy,y)B_{\alpha}(x,y)=B(x+\alpha\,y,y) and 𝒟α=Aα(x,y)x+Bα(x,y)y{\mathcal{D}}_{\alpha}=A_{\alpha}(x,y)\,\frac{\partial}{\partial x}+B_{\alpha}(x,y)\,\frac{\partial}{\partial y}.

  3. (3)

    For an indeterminate cc, compute the polynomial yc𝕂(c)[x]y_{c}\in{\mathbb{K}}(c)[x] of degree (N2+1)\leq(N^{2}+1) s.t. yc(x0)=cy_{c}(x_{0})=c and dycdxBα(x,yc)Aα(x,yc)modxN2+1\frac{dy_{c}}{dx}\equiv\frac{B_{\alpha}(x,y_{c})}{A_{\alpha}(x,y_{c})}\mod x^{N^{2}+1}.

  4. (4)

    Let M(x,y)=i=0N(j=0Nimi,jxj)yiM(x,y)=\sum_{i=0}^{N}\,\left(\sum_{j=0}^{N-i}m_{i,j}\,x^{j}\right)\,y^{i} be an ansatz for the Darboux polynomials that we are searching for.

  5. (5)

    Construct the linear system (c)\mathcal{L}(c) for the mi,jm_{i,j}’s given by:

    M(x,yc(c,x))0modxN2+1.M(x,y_{c}(c,x))\equiv 0\mod x^{N^{2}+1}.
  6. (6)

    Clear the denominator in (c)\mathcal{L}(c).

  7. (7)

    Compute the Smith normal form of (c)\mathcal{L}(c). Let 𝒫(c)\mathcal{P}(c) be the last invariant factor of (c)\mathcal{L}(c).

  8. (8)

    Factorize 𝒫(c)\mathcal{P}(c) over 𝕂{\mathbb{K}}: 𝒫(c)=i=1s𝒫i(c)\mathcal{P}(c)=\prod_{i=1}^{s}\mathcal{P}_{i}(c).

    1. (a)

      For i from 1 to ss do:

      1. (i)

        Set 𝕂[ci]=𝕂[c]/(𝒫i(c)){\mathbb{K}}[c_{i}]={\mathbb{K}}[c]/(\mathcal{P}_{i}(c)).

      2. (ii)

        Compute a solution of (ci)\mathcal{L}(c_{i}) s.t. the corresponding polynomial MiM_{i} has minimal degree in yy and is primitive w.r.t.  yy.

      3. (iii)

        If gcd(𝒟α(Mi),Mi)=Mi\gcd({\mathcal{D}}_{\alpha}(M_{i}),M_{i})=M_{i}, then :={[Mi(c,xαy,y),𝒫i(c)]}\mathcal{E}:=\mathcal{E}\cup\{[M_{i}(c,x-\alpha\,y,y),\mathcal{P}_{i}(c)]\}.

  9. (9)

    Factorize Aα(x,0)A_{\alpha}(x,0) over 𝕂{\mathbb{K}}: Aα(x,0)=i=1kAi(x)A_{\alpha}(x,0)=\prod_{i=1}^{k}A_{i}(x).

  10. (10)

    For i from 1 to kk do:

    1. (a)

      If gcd(𝒟α(Ai),Ai)=Ai\gcd({\mathcal{D}}_{\alpha}(A_{i}),A_{i})=A_{i}, then :={[Ai(xαy,y),c1]}\mathcal{E}:=\mathcal{E}\cup\{[A_{i}(x-\alpha\,y,y),c-1]\}.

  11. (11)

    Return \mathcal{E}.

Proposition 33.

The algorithm ProbabilisticIrreducibleDarbouxPolynomials is correct. Furthermore, if x0x_{0} and α\alpha are chosen uniformly at random in a finite set Ω𝕂\Omega\subset{\mathbb{K}} such that |Ω|>Nd((d)+1)|\Omega|>Nd\,(\mathcal{B}(d)+1), then the probability that this algorithm returns all irreducible Darboux polynomials is at least (1N((d)+1)|Ω|)(1Nd((d)+1)|Ω|)\Big{(}1-\dfrac{N\,(\mathcal{B}(d)+1)}{|\Omega|}\Big{)}\,\Big{(}1-\dfrac{N\,d\,(\mathcal{B}(d)+1)}{|\Omega|}\Big{)}.

Proof.

First, we remark that MM is a Darboux polynomial for 𝒟{\mathcal{D}} if and only if Mα(x,y)=M(x+αy,y)M_{\alpha}(x,y)=M(x+\alpha y,y) is a Darboux polynomial for 𝒟α{\mathcal{D}}_{\alpha}. Thus the strategy used in this algorithm is to perform a change of coordinates in order to be in a generic position, and then to compute all irreducible Darboux polynomials MαM_{\alpha} of degree at most NN by considering only one linear system.
The proof of Proposition 30 shows that from Step (2) to Step (8), we compute all irreducible Darboux polynomials satisfying:

Mα(x0,y)𝕂 and Resy(Mα(x0,y),Aα(x0,y))0.M_{\alpha}(x_{0},y)\not\in{\mathbb{K}}\quad\textrm{ and }\quad{\rm Res}_{y}(M_{\alpha}(x_{0},y),A_{\alpha}(x_{0},y))\neq 0.

Let us study the probability to get Mα(x0,y)𝕂M_{\alpha}(x_{0},y)\not\in{\mathbb{K}}. If M(x,y)=0i+jNai,jxiyjM(x,y)=\sum_{0\leq i+j\leq N}a_{i,j}\,x^{i}\,y^{j}, then Mα(x0,y)=(i+j=Nai,jαi)yN+M_{\alpha}(x_{0},y)=(\sum_{i+j=N}a_{i,j}\,\alpha^{i})\,y^{N}+\cdots where the other terms have degree relatively to yy strictly less than NN. Thus, if i+j=Nai,jαi\sum_{i+j=N}a_{i,j}\alpha^{i} is not equal to zero, then we have Mα(x0,y)𝕂M_{\alpha}(x_{0},y)\not\in{\mathbb{K}}.
As (𝖲\mathsf{S}) has no rational first integral of degree at most NN, then by Darboux-Jouanolou’s theorem (see Theorem 6), we have at most (d)+1\mathcal{B}(d)+1 irreducible Darboux polynomials with degree at most NN. Thus, by Zippel-Schwartz’s lemma, the probability to reach the situation Mα(x0,y)𝕂M_{\alpha}(x_{0},y)\not\in{\mathbb{K}} for all irreducible Darboux polynomials is at least 1((d)+1)N/|Ω|1-(\mathcal{B}(d)+1)\,N/|\Omega|.
Now we suppose that Mα(x0,y)𝕂M_{\alpha}(x_{0},y)\not\in{\mathbb{K}} and we study the probability to have the situation Resy(M(x0,y),A(x0,y))0{\rm Res}_{y}(M(x_{0},y),A(x_{0},y))\neq 0. If the polynomial Resy(M(x,y),A(x,y)){\rm Res}_{y}(M(x,y),A(x,y)) is not zero, then, by Zippel-Schwartz’s lemma, the probability to reach this situation for all irreducible Darboux polynomials, is at least 1((d)+1)Nd/|Ω|1-(\mathcal{B}(d)+1)\,N\,d/|\Omega|.
If the polynomial Resy(Mα(x,y),Aα(x,y)){\rm Res}_{y}(M_{\alpha}(x,y),A_{\alpha}(x,y)) is zero, then MαM_{\alpha} and AαA_{\alpha} have a common factor. As we suppose MαM_{\alpha} irreducible, we deduce that MαM_{\alpha} divides AαA_{\alpha}. Thus MαM_{\alpha} divides Bαy(Mα)B_{\alpha}\,\partial_{y}(M_{\alpha}). As AαA_{\alpha} and BαB_{\alpha} are coprime, we get that MαM_{\alpha} divides y(Mα)\partial_{y}(M_{\alpha}). This situation is possible only when degy(Mα)=0\deg_{y}(M_{\alpha})=0. This means Resy(Mα(x,y),Aα(x,y))0{\rm Res}_{y}(M_{\alpha}(x,y),A_{\alpha}(x,y))\equiv 0 when degy(Mα)=0\deg_{y}(M_{\alpha})=0 and MαM_{\alpha} divides Aα(x,0)A_{\alpha}(x,0). We compute this kind of irreducible Darboux polynomials in Step (10) of the algorithm.
In conclusion, the algorithm computes all irreducible Darboux polynomials of degree at most NN with the announced probability estimate.∎

7.3. Implementation and example

We have implemented the algorithm ProbabilisticIrreducibleDarbouxPolynomials in our package RationalFirstIntegrals444It is available at http://www.ensil.unilim.fr/~cluzeau/RationalFirstIntegrals.html. Let us illustrate the purpose of this section on an interesting example.
Consider the vector field corresponding to the jacobian derivation associated with f(x,y)=(yx1)(xy2)(xy1)f(x,y)=(y-x-1)\,(x-y^{2})\,(x\,y-1), namely,

A(x,y):=fy(x,y)=3x2y2+4xy3+x32x2y3xy2+x2+2xy3y2+x+2y,A(x,y):=-\frac{\partial f}{\partial y}(x,y)=-3\,{x}^{2}{y}^{2}+4\,x{y}^{3}+{x}^{3}-2\,{x}^{2}y-3\,x{y}^{2}+{x}^{2}+2\,xy-3\,{y}^{2}+x+2\,y,
B(x,y):=fx(x,y)=2xy3y43x2y+2xy2+y32xyy2+2xy+1.B(x,y):=\frac{\partial f}{\partial x}(x,y)=2\,x{y}^{3}-{y}^{4}-3\,{x}^{2}y+2\,x{y}^{2}+{y}^{3}-2\,xy-{y}^{2}+2\,x-y+1.

By construction, it admits the rational first integral ff of degree 44 and the Darboux polynomials M1(x,y)=yx1M_{1}(x,y)=y-x-1, M2(x,y)=xy2M_{2}(x,y)=x-y^{2}, M3(x,y)=xy1M_{3}(x,y)=x\,y-1 of degree at most 22. Let us consider the computation of all irreducible Darboux polynomials of degree at most N=2N=2.
The first Darboux polynomial M1M_{1} satisfies M1(0,y)=y1𝕂M_{1}(0,y)=y-1\not\in{\mathbb{K}} and its root cM1=1c_{M_{1}}=1 satisfies A(0,cM1)=10A(0,c_{M_{1}})=-1\neq 0. Therefore it will be found by considering the linear system 1(c)\mathcal{L}_{1}(c) in IrreducibleDarbouxPolynomialsPartial, see the proof of Proposition 30.
The Darboux polynomial M2M_{2} satisfies M2(0,y)=y2𝕂M_{2}(0,y)=-y^{2}\not\in{\mathbb{K}} and but its root cM2=0c_{M_{2}}=0 satisfies A(0,cM2)=0A(0,c_{M_{2}})=0. Thus it will be missed if we only consider system 1(c)\mathcal{L}_{1}(c) in IrreducibleDarbouxPolynomialsPartial. It is the case where the curve M2(x,y)=0M_{2}(x,y)=0 has the vertical tangent x=0x=0. However, if we consider the second system 2(c)\mathcal{L}_{2}(c) in IrreducibleDarbouxPolynomialsPartial, we will find this Darboux polynomial, see the proof of Proposition 30.
Finally M3M_{3} satisfies M3(0,y)=1𝕂M_{3}(0,y)=-1\in{\mathbb{K}} so that M3(0,y)M_{3}(0,y) has a root at infinity. Considering only the systems 1(c)\mathcal{L}_{1}(c) and 2(c)\mathcal{L}_{2}(c) in IrreducibleDarbouxPolynomialsPartial will not be enough to find this Darboux polynomial. However, performing the change of coordinates as in IrreducibleDarbouxPolynomials and applying IrreducibleDarbouxPolynomialsPartial to yA~+B~-y\,\tilde{A}+\tilde{B} and A~z-\tilde{A}\,z instead of AA and BB will provide this Darboux polynomial.
To summarize, applying IrreducibleDarbouxPolynomialsPartial to AA and BB, we get M1M_{1} and M2M_{2} but we miss M3M_{3} but either applying IrreducibleDarbouxPolynomials or ProbabilisticIrreducibleDarbouxPolynomials we get the three Darboux polynomials. Note also that applying an algorithm similar to ProbabilisticIrreducibleDarbouxPolynomials but where we skip Step (2), i.e., we do not perform the generic change of coordinate, we would obtain only M1M_{1} and miss both M2M_{2} and M3M_{3}.
Our implementation of ProbabilisticIrreducibleDarbouxPolynomials requires computations in 𝕂(c){\mathbb{K}}(c) so that as for GenericRationalFirstIntegral it is not very efficient and can not be used in practice for examples with large degrees. To give an idea of timings555All the computations were made on a 2.7 GHz Intel Core i7, on the previous example, running ProbabilisticIrreducibleDarbouxPolynomials without the change of coordinates in Step (2), we obtain {M1}\{M_{1}\} in 2.7372.737 seconds but we miss M2M_{2} and M3M_{3} whereas running ProbabilisticIrreducibleDarbouxPolynomials, we get the complete set {M1,M2,M3}\{M_{1},M_{2},M_{3}\} in 9.7759.775 seconds.

References

  • [ACFG05] J. M. Aroca, J. Cano, R. Feng, and X. S. Gao. Algebraic general solutions of algebraic ordinary differential equations. In ISSAC’05, pages 29–36 (electronic). ACM, New York, 2005.
  • [AHS03] Shreeram S. Abhyankar, William J. Heinzer, and Avinash Sathaye. Translates of polynomials. In A tribute to C. S. Seshadri (Chennai, 2002), Trends Math., pages 51–124. Birkhäuser, Basel, 2003.
  • [BC11] L. Busé and G. Chèze. On the total order of reducibility of a pencil of algebraic plane curves. J. Algebra, 341:256–278, 2011.
  • [BCN11] Laurent Busé, Guillaume Chèze, and Salah Najib. Noether forms for the study of non-composite rational functions and their spectrum. Acta Arith., 147(3):217–231, 2011.
  • [BCO+07] A. Bostan, F. Chyzak, F. Ollivier, B. Salvy, É. Schost, and A. Sedoglavic. Fast computation of power series solutions of systems of differential equations. In Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1012–1021, New York, 2007. ACM.
  • [BCS+07] Alin Bostan, Frédéric Chyzak, Bruno Salvy, Grégoire Lecerf, and Éric Schost. Differential equations for algebraic functions. In ISSAC 2007, pages 25–32. ACM, New York, 2007.
  • [BK78] R. P. Brent and H. T. Kung. Fast algorithms for manipulating formal power series. J. Assoc. Comput. Mach., 25(4):581–595, 1978.
  • [BL94] Bernhard Beckermann and George Labahn. A uniform approach for the fast computation of matrix-type Padé approximants. SIAM J. Matrix Anal. Appl., 15(3):804–823, 1994.
  • [BLS+04] A. Bostan, G. Lecerf, B. Salvy, E. Schost, and B. Wiebelt. Complexity issues in bivariate polynomial factorization. In Proceedings of ISSAC 2004, pages 42–49. ACM, 2004.
  • [Bod08] Arnaud Bodin. Reducibility of rational functions in several variables. Israel J. Math., 164:333–347, 2008.
  • [BP94] Dario Bini and Victor Y. Pan. Polynomial and matrix computations. Vol. 1. Progress in Theoretical Computer Science. Birkhäuser Boston Inc., Boston, MA, 1994. Fundamental algorithms.
  • [Car94] Manuel M. Carnicer. The Poincaré problem in the nondicritical case. Ann. of Math. (2), 140(2):289–294, 1994.
  • [CFL10] Bartomeu Coll, Antoni Ferragut, and Jaume Llibre. Polynomial inverse integrating factors for quadratic differential systems. Nonlinear Anal., 73(4):881–914, 2010.
  • [CG06] Javier Chavarriga and Isaac A. García. The Poincaré problem in the non-resonant case: an algebraic approach. Differ. Geom. Dyn. Syst., 8:54–68 (electronic), 2006.
  • [CGG05] J. Chavarriga, H. Giacomini, and M. Grau. Necessary conditions for the existence of invariant algebraic curves for planar polynomial systems. Bull. Sci. Math., 129(2):99–126, 2005.
  • [CGGL03] Javier Chavarriga, Hector Giacomini, Jaume Giné, and Jaume Llibre. Darboux integrability and the inverse integrating factor. J. Differential Equations, 194(1):116–139, 2003.
  • [Chè11] Guillaume Chèze. Computation of Darboux polynomials and rational first integrals with bounded degree in polynomial time. J. Complexity, 27(2):246–262, 2011.
  • [Chè12a] Guillaume Chèze. Bounding the number of remarkable values via Jouanolou’s theorem. Technical report, Institut de Mathématiques de Toulouse, 2012.
  • [Chè12b] Guillaume Chèze. A recombination algorithm for the decomposition of multivariate rational functions. Mathematics of Computation (to appear), 2012.
  • [CLN91] D. Cerveau and A. Lins Neto. Holomorphic foliations in 𝐂P(2){\bf C}{\rm P}(2) having an invariant algebraic curve. Ann. Inst. Fourier (Grenoble), 41(4):883–903, 1991.
  • [CMS06] S. C. Coutinho and L. Menasché Schechter. Algebraic solutions of holomorphic foliations: an algorithmic approach. J. Symbolic Comput., 41(5):603–618, 2006.
  • [CMS09] S. C. Coutinho and L. Menasché Schechter. Algebraic solutions of plane vector fields. J. Pure Appl. Algebra, 213(1):144–153, 2009.
  • [Dar78] Gaston Darboux. Mémoire sur les équations diff’érentielles du premier ordre et du premier degré. Bull. Sci. Math., 32:60–96, 123–144, 151–200, 1878.
  • [DDdMS01] L. G. S. Duarte, S. E. S. Duarte, L. A. C. P. da Mota, and J. E. F. Skea. Solving second-order ordinary differential equations by extending the Prelle-Singer method. J. Phys. A, 34(14):3015–3024, 2001.
  • [DLA06] Freddy Dumortier, Jaume Llibre, and Joan C. Artés. Qualitative theory of planar differential systems. Universitext. Springer-Verlag, Berlin, 2006.
  • [FG10] Antoni Ferragut and Hector Giacomini. A new algorithm for finding rational first integrals of polynomial vector fields. Qual. Theory Dyn. Syst., 9(1-2):89–99, 2010.
  • [FL07] Antoni Ferragut and Jaume Llibre. On the remarkable values of the rational first integrals of polynomial vector fields. J. Differential Equations, 241(2):399–417, 2007.
  • [gGG99] Joachim von zur Gathen and Jürgen Gerhard. Modern computer algebra. Cambridge University Press, New York, 1999.
  • [GL10] Jaume Giné and Jaume Llibre. On the integrable rational Abel differential equations. Z. Angew. Math. Phys., 61(1):33–39, 2010.
  • [Gor01] Alain Goriely. Integrability and nonintegrability of dynamical systems, volume 19 of Advanced Series in Nonlinear Dynamics. World Scientific Publishing Co. Inc., River Edge, NJ, 2001.
  • [GRS02] Jaime Gutierrez, Rosario Rubio, and David Sevilla. On multivariate rational function decomposition. J. Symbolic Comput., 33(5):545–562, 2002. Computer algebra (London, ON, 2001).
  • [Jou79] J. P. Jouanolou. Équations de Pfaff algébriques, volume 708 of Lecture Notes in Mathematics. Springer, Berlin, 1979.
  • [Kal85] Erich Kaltofen. Polynomial-time reductions from multivariate to bi- and univariate integral polynomial factorization. SIAM J. Comput., 14(2):469–489, 1985.
  • [Lec06] G. Lecerf. Sharp precision in Hensel lifting for bivariate polynomial factorization. Mathematics of Computation, 75:921–933, 2006.
  • [Lor93] Dino Lorenzini. Reducibility of polynomials in two variables. J. Algebra, 156(1):65–75, 1993.
  • [LY05] Jinzhi Lei and Lijun Yang. Algebraic multiplicity and the Poincaré problem. In Differential equations with symbolic computation, Trends Math., pages 143–157. Birkhäuser, Basel, 2005.
  • [LZ10] Jaume Llibre and Xiang Zhang. Rational first integrals in the Darboux theory of integrability in n\mathbb{C}^{n}. Bull. Sci. Math., 134(2):189–195, 2010.
  • [MM97] Yiu-Kwong Man and Malcolm A. H. MacCallum. A rational approach to the Prelle-Singer algorithm. J. Symbolic Comput., 24(1):31–43, 1997.
  • [MO04] Jean Moulin Ollagnier. Algebraic closure of a rational function. Qual. Theory Dyn. Syst., 5(2):285–300, 2004.
  • [Olv93] Peter J. Olver. Applications of Lie groups to differential equations, volume 107 of Graduate Texts in Mathematics. Springer-Verlag, New York, second edition, 1993.
  • [Per01] Jorge Vitório Pereira. Vector fields, invariant varieties and linear systems. Ann. Inst. Fourier (Grenoble), 51(5):1385–1405, 2001.
  • [Per02] Jorge Vitório Pereira. On the Poincaré problem for foliations of general type. Math. Ann., 323(2):217–226, 2002.
  • [Poi91] Henri Poincaré. Sur l’intégration algébrique des équations différentielles du premier ordre et du premier degré. Rend. Circ. Mat. Palermo, 5:161–191, 1891.
  • [PS83] M. J. Prelle and M. F. Singer. Elementary first integrals of differential equations. Trans. Amer. Math. Soc., 279(1):215–229, 1983.
  • [Rup86] Wolfgang Ruppert. Reduzibilität ebener Kurven. J. Reine Angew. Math., 369:167–191, 1986.
  • [Sch93] Dana Schlomiuk. Elementary first integrals and algebraic invariant curves of differential equations. Exposition. Math., 11(5):433–454, 1993.
  • [Sch00] A. Schinzel. Polynomials with special regard to reducibility, volume 77 of Encyclopedia of Mathematics and its Applications. Cambridge University Press, Cambridge, 2000. With an appendix by Umberto Zannier.
  • [SGR90] Dana Schlomiuk, John Guckenheimer, and Richard Rand. Integrability of plane quadratic vector fields. Exposition. Math., 8(1):3–25, 1990.
  • [Sha74] R. E. Shafer. On quadratic approximation. SIAM J. Numer. Anal., 11:447–460, 1974.
  • [Sha78] Robert E. Shafer. On quadratic approximation. II. Univ. Beograd. Publ. Elektrotehn. Fak. Ser. Mat. Fiz., (602-633):163–170 (1979), 1978.
  • [Sin92] Michael F. Singer. Liouvillian first integrals of differential equations. Trans. Amer. Math. Soc., 333(2):673–688, 1992.
  • [SZ94] Bruno Salvy and Paul Zimmermann. GFUN: a Maple package for the manipulation of generating and holonomic functions in one variable. ACM Transactions on Mathematical Software, 20(2):163–167, 1994.
  • [vHW05] Mark van Hoeij and Jacques-Arthur Weil. Solving second order differential equations with klein’s theorem. In ISSAC 2005 (Beijing). ACM, New York, 2005.
  • [Vis93a] Angelo Vistoli. Erratum: “The number of reducible hypersurfaces in a pencil”. Invent. Math., 113(2):445, 1993.
  • [Vis93b] Angelo Vistoli. The number of reducible hypersurfaces in a pencil. Invent. Math., 112(2):247–262, 1993.
  • [Wal00] Sebastian Walcher. On the Poincaré problem. J. Differential Equations, 166(1):51–78, 2000.
  • [Wei95] Jacques-Arthur Weil. Constantes et polynômes de Darboux en algèbre différentielle : applications aux systèmes différentiels linéaires. PhD thesis, École polytechnique, 1995.