diffalg(deprecated)/differential_algebra - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : diffalg(deprecated)/differential_algebra

Basic Concepts in Constructive Differential Algebra and Their Representation in the diffalg Package


Motivation to study differential equations from an algebraic standpoint

Differential rings and fields

Differential polynomial ring


Representation of differential ring and rankings in the diffalg package

Radical differential ideals

Differentially triangular sets

Coherence and regular differential systems

Differential characteristic sets and characterizable differential ideals

Characteristic decomposition

Representation of characterizable and radical differential ideals


Motivation to study differential equations from an algebraic standpoint


Important: The diffalg package has been deprecated. Use the superseding package DifferentialAlgebra instead.


Consider the differential system consisting of the two equations:

eq1 := diff(U(x),x)^2+U(x)^2*diff(V(x),x)^2+2*U(x)*V(x)+2*U(x)^2 =0;



eq2 := diff(U(x),x)*diff(V(x),x)-U(x)-V(x) =0;



If a pair Ux,Vx of meromorphic functions is a solution of this system, then Ux,Vx is also a solution of the equations obtained by differentiation, for example,




and the equations obtained by linear combination, for example,




Note that this latter equation can also be written as




Therefore Ux,Vx  must be a solution of

op(1,lhs((5))) =0;



More generally,  consider  a differential system given by equations of the form p1=0,....,pr=0, where the pi's are polynomials in some unknown functions u1,...,un of x1,....,xm and their partial derivatives. The pi are called differential polynomials.


If the n-tuple U1x,...,Unx forms a meromorphic solution of the system, then  it is also a solution of any equation obtained by:


- differentiating p1,....,pr,


- taking linear combination of p1,....,pr, and therefore,


- taking any linear combination of p1,....,pr and their derivatives.


The set of all linear combinations of p1,....,pr and their derivatives is the differential ideal generated by p1,....,pr.


If a differential equation p=0 in the unknown functions u1,...,un satisfies the condition that some power of  p can be written as a linear combination of the p1,....,pr, then a solution U1,...,Un of p1=0,....,pr=0 must also be a solution of p=0.


The set of all p such that  a power of p is in the differential ideal generated by p1,....,pr is called the radical differential ideal generated by p1,....,pr.


Actually, the radical differential ideal generated by p1,....,pr is the biggest set of equations with the same meromorphic solutions as the system p1=0,....,pr=0.


Furthermore, the system p1=0,....,pr=0 has at least one  meromorphic solution if and only if the radical differential ideal generated by p1,....,pr does not contain an element independent of the unknown functions.


These two last facts are the fundamental results of differential algebra. This theory was initiated around 1930 by Ritt for ordinary differential equations and later developed for partial differential equations by his students.


The purpose of constructive differential algebra, and of the package diffalg, is to give good representations of the radical differential ideals generated by finitely many differential polynomials. Doing so we give a good decomposition of the solution set of the associated differential system.


This help page attempts to give an account of the concepts used in the  diffalg package. For more information, refer to the bibliography.

Differential rings and fields


A derivation on a ring is an inner application d that is an additive morphism(1) satisfying Leibniz rule(2).


(1) da+b=da+db


(2) dab=dab+adb


A differential ring (field) is a commutative ring (field) endowed with a finite set of derivations that commute pairwise.




The field of rational numbers Q endowed with the trivial derivation that maps any element to 0 is a differential field (of constants).


The univariate polynomial ring Qx endowed with the  derivation ddx that extends the trivial derivation on Q and  such that dx=1 is a differential ring. For any polynomial p in  Qx, p=anxn+....+a1x+a0, we have dp=nanxn1+...+a1.


The set of meromorphic functions in two variables x and y endowed with the usual derivation ddx and ddy according to x and y is a differential field.


A derivation operator is the composition of a finite number of derivations. The non-negative number of derivations involved is the order of the derivation operator.

Differential polynomial ring


Let K be a differential field of constants of characteristic zero. All the elements of K are mapped to 0 by the derivations.  Let F be the differential field of rational functions in the indeterminates x1,...,xm with coefficients in K. F=Kx1,...,xm is naturally endowed with derivations d1,...,dm according to these variables (di=ddxi).


Given a finite set of differential indeterminates u1,...,un, we construct the ring R=F{u1,...,un} of differential polynomials. The derivations of R extend the derivations on F and map the ui on their formal derivatives djui.


R is the ring of polynomials in the  indeterminates ui with their derivatives up to any order.


Take F=Qx endowed with the derivation d according to x. Consider a single differential indeterminate u. A differential polynomial p of R=Qx{u} represents  the ordinary differential equation p=0 with the unknown function ux.


In the diffalg package, x1,...,xm are called derivation variables, K is referred to as the field of constants and F=Kx1,...,xm is referred to as the ground field of R=F{u1,...,un}.


The differential polynomials of R can be denoted by using the Maple diff and Diff functions or the more compact jet notation.


ux24u denotes  diff(u(x),x)^2 - 4*u(x) in Qx{u} 


ux,x,yy+y+1 denotes (1/y)*diff(u(x,y),x,x,y) + y + 1 in Qx,y{u} 



A ranking is a total order over the set of the derivatives of the differential indeterminates of R that  satisfies the two axioms:


(a) f<djf for any derivative f and each derivation dj.


(b) fg implies djfdjg for all derivatives f,g, and any derivation dj.


Rankings are the analogs of term orderings used in Groebner bases algorithms. However, rankings order the derivatives of the differential indeterminates while term orderings order monomials.


An elimination  ranking between the two differential indeterminates u,v (say u<v) satisfies φu<ψv for all derivation operators φ,ψ.


An orderly  ranking on the differential indeterminates u1,...,un satisfies φui<ψuj for any derivation operators φ,ψ such that the order of ψ is greater than the order of φ.


Given a ranking, we define for every differential polynomial of R&bsol;F, the leader, rank, initial, and separant.


Axioms (a) and (b) imply that, if v is the leader of p and φ is any proper derivation operator, then φv is the leader of φp and the initial of φp is the separant of p.

Representation of differential ring and rankings in the diffalg package


A differential polynomial ring indicates the data structure (a Maple table) returned by the function differential_ring.


This structure corresponds to a differential polynomial ring (in the mathematical sense) endowed with a ranking and a notation.


In the diffalg package, K is by default the field of rational numbers. Nonetheless,  transcendental and (differential) algebraic extensions of the field of rational numbers can be defined by using the command field_extension.


In the following example, we define the  ring R of differential polynomials  in the differential indeterminates u,v,w with coefficients in Qx&comma;y. The derivations are the derivations according to x and y. We set an orderly ranking.


R := differential_ring(ranking=[[u,v,w]], derivations=[x,y]);






A concise presentation of the ranking you have defined can be obtained by using the command print_ranking.


In lists, leftmost elements are greater than rightmost ones.
The derivatives of [u, v, w] 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]

Radical differential ideals


In short: let S and H be sets of differential polynomials. The radical differential ideal generated by S, denoted S, corresponds to the system S=0. The saturation by H of S, denoted S:H, corresponds to the differential system S=0,H0.


We introduce the concepts of a differential ideal and a radical differential ideal to discuss the following differential analog of the Hilbert theorem of zeros.


Given a set S of differential polynomials, a differential polynomial p vanishes on all the zeros  of S if and only if p belongs to the radical differential ideal generated by S. This establishes a one-to-one correspondence between the zero sets of differential systems and radical differential ideals. Studying and decomposing the zero set of a differential system amounts to studying and decomposing the radical differential ideal it generates. It is the point of view of diffalg.


A differential ideal of a differential ring R is an ideal of R stable under derivations.


If p1,...,pn are elements of R, the differential ideal I=p1&comma;...&comma;pn generated by the pi  is the set of all the elements of R that are finite linear combinations (with elements of R for coefficients) of the pi and their derivatives up to any order.


A differential ideal J of R is said to be radical if an element r of R belongs to J whenever one of its positive integral power belongs to J.


If p1,...,pn are the elements of R,  the  radical differential ideal J=p1,,pn generated by the pi is the smallest radical differential ideal containing the pi. It is the set of all the elements of R, a power of which belongs to I=p1&comma;...&comma;pn.


Another essential concept in differential algebra is the notion of saturation. Let  S and H be  two sets of differential polynomials. The saturation by H of the radical differential ideal generated by S contains all the differential polynomials that vanish for all  the zeros of S that are not zeros of any element of H. In simpler terms, this saturation is the sharper differential ideal corresponding  to the system of equations and inequations S=0,H0.


Let S be a non empty set of differential polynomials in R and H consisting of the elements h1,...,hm of R. The saturation S:H of S by H is the set of all differential polynomials  r of R for which there exists a power product of the hi, called h, such that hr belongs to S.


S:H is a radical differential ideal.


A differential ideal P of R is said to be prime if whenever a product pq belongs to P, either p or q belongs to P.


Given a parametrized family of n-tuples v1,...,vn of  meromorphic functions, the set of differential polynomials in R=F{u1,...,un} vanishing on this n-tuple forms a prime differential ideal.


A radical differential ideal J is a finite intersection of prime differential ideals. This decomposition is unique when minimal.

Differentially triangular sets


A set of differential polynomials p1,...,pn in  a polynomial differential ring R is said to be differentially triangular with respect to a given ranking if:


- no pi belongs to the ground field,


- no proper derivative of the leader of pi appears in pj  i,j=1..n, and


- the leaders of the pi's are pairwise different.


The command differential_sprem implements  a generalization of the pseudo-division algorithm to compute the reduction of a differential polynomial with respect to a differentially triangular systems of differential polynomials.

Coherence and regular differential systems


A differentially triangular set R is said to be coherent if all the well-defined delta-polynomials that can be formed with any pair of its elements belong to the (non differential) ideal determined by a limited differential prolongation of A. For a more precise definition, see [Kolchin].


The sufficient condition that appears commonly is that all these delta-polynomials are reduced (by using differential_sprem) to zero by A.


A differential system of equations and inequations A=0,H0, with A and H finite subsets of differential polynomials in R, is said to be regular if A is a coherent differentially triangular set, H is partially reduced with respect to A, and H contains the separants of the elements of A.


A regular differential system  A=0,H0 defines the regular differential ideal A:H.


Testing triviality or  membership to a regular differential ideal is a purely algebraic problem.


Every regular differential ideal is radical and is an intersection of prime differential ideals that have the same parametric set (arbitrary constants and functions).

Differential characteristic sets and characterizable differential ideals


A differentially triangular set C  is a differential characteristic set if the following equivalence is satisfied.


A differential polynomial p belongs C:H if and only if differential_sprem p&comma;C=0, where H is the set of the initials and separants of the elements of C.


A characteristic set C defines the characterizable differential ideal C:H, H the set of the initials and separants of the elements of C.


Characterizable differential ideals are regular differential ideals. They are radical and are the intersection of prime differential ideals that have the same parametric set (arbitrary constants and functions).


The non singular zeros of a differential characteristic set C are the zeros for which no element of H vanishes.


The non singular zeros of a characterizable differential ideal can be expanded into formal integral power series up to any order, but convergence is not guaranteed.


A prime differential ideal is a characterizable differential ideal for any ranking. A characterizable differential ideal is prime if its defining characteristic set is irreducible. A sufficient condition for this is that all the differential polynomials in the characteristic set have degree one in their leaders.

Characteristic decomposition


Any radical differential ideal can be decomposed into an intersection of characterizable differential ideals. The characterizable differential ideals entering the decomposition are called (characterizable) components and the representation obtained is called a characteristic decomposition.


This representation is not unique and does not need to be minimal.


A characteristic decomposition of a radical differential ideal J allows one to test membership to J.


The command Rosenfeld_Groebner computes a characteristic decomposition of a radical differential ideal generated by a finite set of differential polynomials. It can also compute the characteristic decomposition of a saturation.


The algorithm proceeds in two fundamental steps. It first computes a decomposition into regular differential ideals. The  algorithm used is described in [Boulier et al. 1997]. The second step consists of computing characteristic decompositions of these regular differential ideals. The algorithm used is described in [Hubert 2000].


When considering the radical differential ideal generated by a unique differential polynomial, one can obtain a minimal characteristic decomposition by using the command essential_components. The algorithm used by essential_components is described in [Hubert 1999].

Representation of characterizable and radical differential ideals


A characterizable differential ideal is represented by a Maple table, appearing as characterizable, that records the defining  characteristic set, as well as the differential polynomial ring with respect to which it was computed.


A radical differential ideal is representable by a characteristic decomposition, that is  an intersection of characterizable differential ideals. This intersection is represented by a list of characterizable tables.


Characterizable and radical differential ideals are built by the function Rosenfeld_Groebner.


R := differential_ring(ranking=[[z,y]], derivations=[x]);



S := [-y[]+x* y[x]+y[x]^2+z[x], -z[]+x*z[x]+y[x]*z[x]];



Radical_d_ideal := Rosenfeld_Groebner(S, R);



Characterizable_d_ideal := Radical_d_ideal[1];









evalb(Characterizable_d_ideal[Differential_ring] = R);



The other entries of Characterizable_d_ideal are represented in internal notations. The entries Equations  and Inequations can be read by using the commands equations and inequations or rewrite_rules .


If the environment variable _Env_diffalg_char is set to false, Rosenfeld_Groebner represents the radical differential ideals as an intersection of regular differential ideals.


Regular differential ideal are tables with an identical structure to characterizable differential ideals. They appear as regular.



Boulier, F.; Lazard, D.; Ollivier, F.; and Petitot, M. "Representation for the Radical of a Finitely Generated Differential Ideal." In Proceedings of ISSAC '95, pp. 158-166. Edited by A. H. M. Levelt. New York: ACM Press, 1995.


Boulier, F.; Lazard, D.; Ollivier, F.; and Petitot, M. "Representation for the Radical of a Finitely Generated Differential Ideal." University of Lille Research Report LIFL IT-306, Department of Computer Science, 1997.


Hubert, E. "Essential Components of an Algebraic Differential Equation." Journal of Symbolic Computation, (October/November 1999): 657-680.


Hubert, E. "Factorisation Free Decomposition Algorithms in Differential Algebra." Journal of Symbolic Computation, (May 2000): 641-662.


Kaplansky, I. An Introduction to Differential Algebra. Paris: Hermann, 1970.


Kolchin, E. Differential Algebra and Algebraic Groups. New York: Academic Press, 1973.


Ritt, J. F. Differential Algebra. New York: Dover, 1966.

See Also