Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] adzf_v2_0.tar.gz(21 Kbytes)
Manuscript Title: Determining Liouvillian first integrals for dynamical systems in the plane and an integrability analysis
Authors: J. Avellar, M.S. Cardoso, L.G.S. Duarte, L.A.C.P. da Mota
Program title: Lsolver
Catalogue identifier: ADZF_v2_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 185(2014)1496
Programming language: Maple.
Computer: Any computer running Maple.
Operating system: Windows XP, Windows 7.
RAM: 20 Mb
Keywords: Symbolic Computation, Dynamical systems, Integrating factors, Integrability.
Classification: 4.3.

Does the new version supersede the previous version?: Yes

Nature of problem:
We deal with the analytical solving of 1ODEs via a Darboux method. We also introduce an integrability analysis for this present case (1ODEs) that was previously presented in the context of 2ODEs.

Solution method:
The method of solution is based on the standard Prelle-Singer (Darboux) method [1], with extensions for the cases when the 1ODEs of our own, which solves 1ODEs with Liouvillian solutions, is included. The first part of the Method depends on the finding of the Darboux polynomials for the ODE. The integrability analysis mentioned above is performed at this stage.

Reasons for new version:
  • Check and enforce compatibility with the newer versions of Maple (in this case, Maple release 17).
  • Some features of the program were modified in order to improve its useability.
  • The Integrability analysis was implemented.

Summary of revisions:
Regarding the question about the program running with the newer versions of Maple, namely, Maple 17, the answer is that the deprecation of certain commands in the Maple system has not damaged the running capability of Lsolver. It runs properly. Nevertheless, we have introduced some changes in the way some of its features are implemented:
  • During the running of the routines in Lsolver, one has to use a degree for the Darboux polynomials and another for the co-factors. There is, of course, a default for those values: namely, 1 for the Darboux polynomials and the maximum value possible for the co-factors. This maximum value is determined from the Ode itself. It is the maximum degree (on both x or y) either of the numerator or the denominator of the rational function defining the Ode minus 1. In this new version of Lsolver, when the user decides to use a different value for the degree of the Darboux polynomials (and/or for the co-factors) the user has to provide an extra argument to the Lsolve command. This argument is of the form: Deg = [nf, np] where nf is the degree for the Darboux polynomials and np the one for the co-factors. If np is bigger than it can be, the program tells you so and states which value was actually used (the maximum possible one). If the value for np provided is smaller than the maximum value, the one provided will be the one used.
  • If by any means the user knows the Darboux polynomials and the corresponding co-factors, he/she can feed it to the command Lsolve via the following extra argument: DP = [[Darboux], [co-factors]]. Where [Darboux] is a list with the Darboux polynomials and [co-factors] is a list with the corresponding co-factors.

    So, the calling of the Darboux procedure will be as follows:       > Lsolve(ODE,DP);    (1)

    The changes above were requested by the users that contacted us and suggested some changes along those lines. So, we decided to oblige.

    Finally, perhaps the biggest change we have introduced is the capability to perform an Integrability analysis concerning the free parameters (possibly) appearing on the Ode. Basically, we here implement for first order ordinary differential equations (1ODEs) the idea we have presented in [2, 3]. The idea, although very simple to implement, is powerful in regards to its effectiveness. We have introduced a new routine, called Lintegrability. In a few words, if the user provides the ODE and an argument in the form of a set sequence with the free parameters to this command:

      >Lintegrability(ODE, {sequence of the free parameters});   (2)

    it produces an output of the form:

    [[the Darboux Polynomials], [the co-factors], [the free parameters]]   (3)

    i.e., a list with three lists inside it. Each one of these lists has the same number of operands.
    The command operates by using the Darboux commands internally. So, in order to prepare this command for this new task, some changes had to be made to it. Therefore, some new lines where introduced in the Darboux routine. For the user, the Darboux command works as if it has not been modified.

    So, in the cases where the integration can be made only after one knows the values (or the range of values) for the free parameters present on the ODE (and the corresponding Darboux polynomials), the user has to collect the Darboux polynomials discovered by the usage of the Lintegrability command and feed them to the Lsolve command to perform the integration.

The finding of the Darboux polynomials and the correspondent co-factors is still the time-demanding task of the method. So, one could say that, for the general case, if the degree for the Darboux polynomials is "4", for instance, it would make the case hard to deal with.

Unusual features:
The possibility of searching for integrability regions, as described above.

Running time:
This depends strongly on the 1ODE being analyzed. As mentioned above, a degree for the Darboux polynomials "4" or above would (in general) make dealing with the case unpractical. For the degree "3", the routines may take more than a minute to deal with the task. Generally, the program takes, at most, for the other cases, a few seconds.

[1] M. Prelle, M. Singer, Trans. Amer. Math. Soc. 279 (1983) 215.
[2] J. Avellar, L.G.S. Duarte, S.E.S. Duarte, L.A.C.P. da Mota, in: Theodore Simos, George Maroulis (Eds.), Lecture Series on Computer and Computational Sciences, vol. 4B, 2005, p. 1786.
[3] J. Avellar, L.G.S. Duarte, S.E.S. Duarte, L.A.C.P. da Mota, Appl. Math. Comput. 184 (2007) 2.