Some Features of the Differential Algebra Package diffalg
Important: The diffalg package has been deprecated. Use the superseding package DifferentialAlgebra instead.
The diffalg package provides tools for handling systems of algebraic differential equationseither ordinary or partial differential equations. The core of the package is the RosenfeldGroebner algorithm. Its implementation is an improved version of the algorithm presented in Boulier et al, Proceedings of ISSAC95. A complete description can be found in the paper by the same authors (see References below).
This is an informal presentation of how the diffalg package can be used. A thorough description of the package can be found on the diffalg help page.
>


>



Overdetermined Systems of Partial Differential Equations


The first question arising when one encounters a differential system with more equations than unknowns is the following: Is there any solution? That is one of the first features of the RosenfeldGroebner algorithm.

A Simple Example


Does the following system of partial differential equations have any solution?
?
How to proceed:
>


 (1.1.1) 

2. Enter your system as follows:

>


 (1.1.2) 

3. Call Rosenfeld_Groebner for your system:

>


 (1.1.3) 
This means that there is no solution. And, indeed, by differentiating the first equation with respect to , you obtain , whereas by differentiating the second equation with respect to and subtracting the third equation, you obtain . This leads to the contradiction .
For an example of an overdetermined system admitting a solution, see the following section.


Singular Solutions


Overdetermined systems of differential equations occur, for instance, when looking for singular solutions of a single differential equation.
The singular solution of an ordinary firstorder differential equation , where are defined as the solutions of the following system:
is called the separant of .
Does the differential equation have any singular solution?

1. Set the characteristics of your system with the command differential_ring:

 (1.2.1) 
>


 (1.2.2) 

2. Call Rosenfeld_Groebner on the system as defined above:

>


 (1.2.3) 
>


 (1.2.4) 
>


 (1.2.5) 
There are two singular solutions. They are defined, respectively, by and by , as we can see with the command equations.
>


 (1.2.6) 



Different Types of Solutions and Their Representations


The Rosenfeld_Groebner algorithm splits a system of differential equations, which admits a solution, into a list of regular systems. The set of solutions of the original system is the union of the solutions of all the regular systems obtained. This representation has many properties. (See, for instance, the section on formal power series.)
A regular system consists of a triangular set of differential equations and a set of inequations, both with special properties. They are accessed by applying the commands equations and inequations to a regular system or to a list of regular systems. Much information can be read from these regular systems, including dimension, observability of one unknown functions, and so on.
Let us reconsider the previous example. What does Rosenfeld_Groebner return for the system consisting only of f?
>


 (2.1) 
The second system stand for the singular solution.
>


>


 (2.2) 
The first stands for the general solution:
>


>


 (2.3) 
Having an inequation means that most of the solutions in the general solution do not make vanish. Note that is the separant of . Therefore, the general solution consists mainly of nonsingular solutions.


Notational Aspects


You will certainly want to use standard notations for derivatives. This can be accommodated when giving the characteristics of your differential system within the command differential_ring:
>


 (3.1) 
>


 (3.2) 
>


 (3.3) 
>


>


 (3.4) 
>


>


 (3.5) 
You may also use the Diff notation.


Power Series Solutions


Regular systems, such as those returned by the RosenfeldGrobner algorithm, are coherent and therefore formally integrable. This means that, given a nonsingular initial condition, you may find a convergent power series solution that satisfies this initial condition.
Note: If the initial conditions are singular, meaning that they make one of the inequations of the regular system vanish, a formal power series solution may also exist. But that is a difficult problem.
To gain some understanding of the meaning of formal integrability and why you should not try to integrate any system that is not formally integrable, consider the following example.

Formal Integrability: A Simple Example


Try to get the power series solution of the system in a straightforward way:
at .
This will be given by:
Choose , with .
Then, the equations impose and .
Differentiating the first equation according to and , you obtain and .
While differentiating the second equation according to and , you obtain and .
Note: You obtained two inconsistent values for .
So, what can we learn with the Rosenfeld_Groebner algorithm?
>


 (4.1.1) 
>


 (4.1.2) 
>


 (4.1.3) 
>


>


 (4.1.4) 
The only solution is .
Two procedures are available to perform the expansions: the power_series_expansion that obtains the expansions of all the unknown functions of a given regular system, and the formal_power_series that obtains the expansions of a prescribed set of unknown functions of the given regular system.
For each of these commands, you must provide the point at which you want to perform the expansionsin other words, you must give values for the independent variables. The results are power series with as many arbitrary constants as possible corresponding to initial values of the unknown functions, and with a certain number of their derivatives to be prescribed. These constants are constrained to give nonsingular initial conditions (initial conditions which make all of the equations, but none of the inequations, of the regular system vanish).


An Extended Example


>


 (4.2.1) 
>


 (4.2.2) 
>


 (4.2.3) 
To obtain the power series solution of the system , we must look for the power series solutions of the two regular systems obtained.
>


 (4.2.4) 
This is the solution for the indeterminate of the second regular system. It depends on the arbitrary constants and being set to the appropriate initial conditions: and .
>


 (4.2.5) 
This is the series solution of the second regular system for all the indeterminates up to order 3. It depends on arbitrary constants which are to be set with the initial conditions.
As for the power series solutions of the first regular system, it is a bit more tricky:
>


 (4.2.6) 
Again, the arbitrary constants have to be decided with the initial conditions. But these initial conditions should satisfy:
>


 (4.2.7) 
Indeed, the second regular system has no inequalities, while the first one does.
>


 (4.2.8) 
>


 (4.2.9) 



Ground Field


When you set the characteristics of your differential system as
>


 (5.1) 
the differential equations that you are dealing with shall be polynomials in the dependent variable and its derivatives with coefficients in , the rational functions of and , with coefficients in a field of characteristic zero. The default is , the set of rational numbers.
>


 (5.2) 
>


 (5.3) 
>


 (5.4) 
You may want to work with an extension of , say .
>


 (5.5) 
>


 (5.6) 
>


 (5.7) 
>


 (5.8) 
>


 (5.9) 
The command field_extension allows you to also define transcendental constants. Transcendental constants are objects that vanish under derivation and that are not the root of any polynomial with coefficient in . In that sense, they must be distinguished from arbitrary constants or parameters: It is incorrect to replace them with a value in or in one of its algebraic extensions.
>


 (5.10) 
>


 (5.11) 
>


 (5.12) 
>


 (5.13) 
>


 (5.14) 
For an illustration of the meaning of transcendental constants, and what we do not expect with them, set in the previous example.
>


 (5.15) 
>


 (5.16) 
>


 (5.17) 
This is not obtained from the previous decomposition by setting .


Radical Differential Ideals


Consider the differential system
.
.
If the pair u, v of analytic functions is a solution of this system, then u, v is also a solution of
•

the equations obtained by differentiation, for instance , that is

•

the equations obtained by combination, for instance , that is

Note: The second equation can also be written , and therefore u, v must be a solution of .
More generally, let us consider a differential system given by equations of the form ,...., in the unknown functions ,..., . If ,..., is an analytic solution of the system, then it is also a solution of any equation obtained by
•

taking linear combination of , ...,

and therefore taking any linear combination of , ..., and their derivatives.
The set of all linear combination of , ..., and their derivatives is the differential ideal generated by , ..., .
Now, if some differential equations in the unknowns ,..., is such that or or any power of can be written as a linear combination of the , ..., , then ,..., must also be a solution of . The set of all the such that a power of is in the differential ideal generated by , ..., is called the radical differential ideal generated by , ..., . It actually provides the biggest set of equations having the same analytic solution as the system ,...., .
Furthermore, the system ,...., has at least one analytic solution if and only if the radical differential ideal generated by , ..., does not contain an element independent of the unknown functions. These two last properties are the results of the basis theorem and the theorem of zero (see Kolchin's book). They are the reasons why we work with radical differential ideals.


Rankings


Similar to that of Buchberger's algorithm, the result of the RosenfeldGroebner algorithm is a kind of canonical representation of the radical of the differential ideal generated by the given system of differential equations. Just as for a Groebner basis, the representation provides an algorithm to test the membership in . (See belongs_to.) The reductions done during the algorithm are done according to an order that is compatible with derivations. For different orders, you may get different results with varying efficiency. Compare
>


 (7.1) 
>


 (7.2) 
>


 (7.3) 
>


 (7.4) 
>


 (7.5) 
>


 (7.6) 
>


 (7.7) 
The order is defined within the differential_ring command. To get a short description of the ranking you have defined, you may use the print_ranking command.
>


In lists, leftmost elements are greater than rightmost ones.
The derivatives of [v] are ordered by grlexA:
_U [tau] > _V [phi] when
tau > phi or
tau = phi and _U > _V w.r.t. the list of indeterminates or
tau = phi and _U = _V and tau > phi w.r.t. [x, y]
Any derivative of [v] is greater than any derivative of [u]
The derivatives of [u] are ordered by grlexA.
 
>


In lists, leftmost elements are greater than rightmost ones.
The derivatives of [u, v] are ordered by lex:
_U [tau] > _V [phi] when
tau > phi for the lex. order [y, x] or
tau = phi and _U > _V w.r.t. the list of indeterminates
 
>




References


The RosenfeldGroebner algorithm can be seen as an effective version of Ritt's algorithm. The underlying theory belongs to differential algebra. You may refer to the founding book [Ritt], the reference book [Kolchin] on differential algebra, or the introductory book [Kaplansky].
Boulier, Lazard, Ollivier, and Petitot. "Representation for the radical of a finitely generated differential ideal." in Proceedings of ISSAC95, pp. 158166.
Boulier, Lazard, Ollivier, and Petitot. "Representation for the radical of a finitely generated differential ideal: Rapport de recherche du LIFL IT306." Submitted to the special issue of the Journal of Symbolic Computation on Differential Algebra.
Kaplansky, Hermann I. An Introduction to Differential Algebra. 1970.
Kolchin, E. Differential Algebra and Algebraic Groups. New York: Academic Press, 1973.
Ritt, J.F. Differential Algebra. Dover Publications, 1966.

Return to Index for Example Worksheets
