Proofs: Kovacic's algorithm
These are the human proofs of Kovacic's algorithm, at full length.
Kovacic's algorithm returns a Liouvillian solution exactly when one exists full
This proof shows: correctness, termination.
Let be a field of characteristic with algebraic closure , and let with coprime. Write with , and work in a Picard-Vessiot extension of for . A solution of is Liouvillian if it lies in a tower of extensions of obtained by adjoining integrals, exponentials of integrals and algebraic elements.
Lemma 1 (Riccati). For in put . Then if and only if . Conversely, if solves in a differential extension, then , an element with , solves .
Proof. gives , and .
Lemma 2 (Kovacic's theorem). The differential Galois group of is an algebraic subgroup of , since the Wronskian of two solutions has derivative . Up to conjugation, exactly one of these holds: (1) is triangular; (2) is contained in the group of matrices and , and case 1 fails; (3) is finite and not in case 1 or 2, so its image in is the tetrahedral, octahedral or icosahedral group; (4) . In case 1 there is a solution with , in case 2 one with of degree over , in case 3 all solutions are algebraic and some has degree , or for the three groups, and in case 4 there is no Liouvillian solution. This is the theorem of Kovacic (1986), from the classification of the algebraic subgroups of , see also van der Put and Singer, Chapter 4. We use it as a cited result.
Lemma 3 (necessary conditions). Kovacic (1986) shows from the Laurent series of that case 1 is possible only if every pole of has order or even order and the order at infinity is even or above , case 2 only if some pole has order or odd order at least , and case 3 only if all poles have order at most and . For case 1 this follows from Step 1 below. Skipping a case whose condition fails therefore loses nothing.
Step 1 (local behaviour in case 1). Let solve , and let be a point. Expand with .
- If , then has a pole of order while has order , so has a pole of even order at , and the terms of of orders satisfy up to order . So the polar part of order at least of is . Comparing the coefficients of gives , where is the leading coefficient of with the chosen sign, and is the coefficient of in . So , the two values .
- If , comparing the coefficients gives for the coefficient of in . If has a pole of order , . If has a pole of order or no pole at , then and , since .
- If , is regular at .
So has no pole of odd order , and at a pole of order the residue is . At infinity the same comparison in the variable gives, for , a polynomial part and coefficient of in ; for a coefficient with the coefficient of in , and for this is ; odd is impossible.
Step 2 (case 1 is complete). Let solve the Riccati equation. By Step 1, the partial fraction decomposition of is
where runs over the poles of , the signs and residues are local choices of line L4, and the are the points where has a simple pole with residue but is regular. Let be the first two sums, the family's rational function of line L6, and , a monic polynomial of degree , so that . The coefficient of in the expansion of at infinity is the sum of all residues, , and by Step 1 it is , since has no residue and is a polynomial. So is a nonnegative integer, and the family passes line L5. Finally, has logarithmic derivative , and
so solves the auxiliary equation of line L7, and the linear system of that line has a nonzero solution. The search of lines L5 to L7 tries every family, so it finds this one or an earlier successful one.
Step 3 (soundness). In case 1, if line L7 finds , the identity of Step 2 shows that solves , and is Liouvillian since and are rational. The returned has the logarithmic derivative as its root. In case 2, let solve the third-order auxiliary equation, , and let be a root of . Kovacic (1986), in the treatment of case 2, shows that the auxiliary equation is exactly the condition that the two roots of satisfy the Riccati equation, with : writing with , the Riccati equation for splits into its rational and irrational parts, the irrational part holds identically, and the rational part is a differential equation for that becomes the auxiliary equation for after substituting . In case 3, Kovacic (1986), in the treatment of case 3, shows that the recursion for with is the condition that the roots of the returned satisfy the Riccati equation. In each case the roots of are algebraic over , and Lemma 1 turns them into Liouvillian solutions. Independently of these derivations, a root of a squarefree satisfies the Riccati equation exactly when divides in , since implicit differentiation gives , and the implementation checks this divisibility on every output.
Step 4 (cases 2 and 3 are complete). If case 1 fails and a Liouvillian solution exists, Lemma 2 places in case 2 or 3. Kovacic (1986) shows, by the same local comparison as in Step 1 applied to the symmetric functions of the conjugates of , that at each point the leading data of lie in the finite lists and of line L4, that is the degree of a monic polynomial collecting the remaining poles, and that solves the auxiliary equation. So the family is tried at line L5 and line L7 finds a solution. In case 3, the degree is , or by Lemma 2, and all three are tried.
Conclusion. If the algorithm returns at line L8, Step 3 gives a Liouvillian solution. If a Liouvillian solution exists, Lemma 2 puts in case 1, 2 or 3, Lemma 3 shows that its condition holds at line L2, and Steps 2 and 4 show that some family succeeds. So the return at line L9 happens exactly when no Liouvillian solution exists.
Termination. There are at most three cases and three values of . Each point has finitely many local choices, at most in case 1, in case 2 and in case 3, and there are finitely many points, so there are finitely many families. For each family, line L7 solves a linear system of finite size, unknowns and finitely many equations from comparing coefficients, by Gaussian elimination. The Laurent expansions of line L4 need only finitely many terms. So the algorithm stops.