For the Darbouxian methods we are studying here, in order to solve first order rational ordinary differential equations (1ODEs), the most costly (computationally) step is the finding of the needed Darboux polynomials. This can be so grave that it can render the whole approach unpractical. Hereby we introduce a simple heuristics to speed up this process for a class of 1ODEs. New version program summaryProgram title: LsolverCatalogue identifier: ADZF_v3_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/ADZF_v3_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.htmlNo. of lines in distributed program, including test data, etc.: 1831No. of bytes in distributed program, including test data, etc.: 20862Distribution format: tar.gzProgramming language: Maple, release 17.Computer: Any computer running Maple.Operating system: Windows XP, Windows 7.RAM: 20 MbClassification: 4.3.Catalogue identifier of previous version: ADZF_v2_0Journal reference of previous version: Comput. Phys. Comm. 185(2014)1496Does the new version supersede the previous version?: YesNature of problem: We deal with the analytical solving of 1ODEs via a Darboux method.Solution method: The method of solution is based on the standard Prelle–Singer (Darboux) method [1], with extensions of our own [2] which solves 1ODEs with Liouvillian solutions. 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: A great portion of our work has been concentrated on analyzing and solving systems of first and second order differential equations (1ODEs and 2ODEs, respectively) from a numerical point of view [3], using Lie methods [4, 5] and Darboux type approaches [2, 6]. The common factor among the algorithms in the Darbouxian approach has always been that the most costly step is the determination of the associated Darboux polynomials. So, we are hereby trying to improve on this aspect.Summary of revisions: The revision is the introduction of an option to the command Darboux that allows for faster finding of the necessary Darboux polynomials and co-factors, in some cases. In the last version of this package, we have introduced a possibility of using a defined degree for both the Darboux polynomial and co-factor. Previously, one could only change the degree of the Darboux polynomial and the program used the maximum value possible for the degree of the co-factor. It causes the program to be stuck (sometimes) in a very large problem and the package had problems both in time and computer memory management. Here we introduce a similar idea. We allow the program to look for Darboux polynomials with a fixed degree in one variable. We also fix the degree of the polynomial as a whole. This extra liberty (in restricting the problem to be dealt with) allows for the success of the package in solving some 1ODEs that were missed even with the improvement of the last version. In other words, by fixing the degree for the specific variable we divided the search into smaller steps, dividing the problem into smaller ones. This prevents the algorithm entering too large a calculation. In order to properly see the syntax of the usage of the command, please, see the example Maple file. Let us just display the general format of the command Darboux.>Darboux(ode,DPEXT=[[dx,dt],[x,y]])This would produce an output of the form:[[Darboux polynomials],[co-factors]]In the above calling of the command Darboux, the [dx,dt] terms refer to the degrees of x and the total degree of the Darboux polynomial, respectively.It is important to notice that, for some cases, if we do not instruct the Darboux command which degree to use for the variable x (for example) and the total degree of the Darboux polynomial, thus going step-by-step on the algorithm, (via the extra term DPEXT=[[dx,dt],[x,y]]), the command may not be able to solve the 1ODE. Furthermore, the Maple in-built dsolve command cannot solve some of the same class of 1ODEs. So the new improvement, albeit simple to implement, is of great practical value.Restrictions: The finding of the Darboux polynomials and the correspondent co-factors is the most 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. This situation is mitigated (for some 1ODEs) by the improvements hereby introduced.Unusual features: The faster way to find high (>3) degree Darboux polynomials and co-factors for some cases.Running time: This depends strongly on the 1ODE being analyzed. As mentioned above, a degree for the Darboux polynomials “4” or above could (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. Now, even for degrees >4 it can sometime only take a couple of seconds.
Read full abstract