575
Views
0
CrossRef citations to date
0
Altmetric
Research Article

A new algorithm for computing regular representations for radicals of parametric differential ideals

, & | (Reviewing editor)
Article: 1507131 | Received 06 Mar 2018, Accepted 18 Jul 2018, Published online: 28 Aug 2018

Abstract

The regular representation of the radical of a differential ideal has various applications such as solving the membership problem, computing Taylor expansion of solutions, finding the Lie symmetries, and solving dynamical systems. Presently, there is no algorithm giving all regular representations for all possible values of the parameters for a polynomial differential ideal with parametric coefficients. In this article, we propose a new algorithm that computes all different regular representations with respect to all possible states of the parameters. Also, we present an efficient criterion to reduce some ineffectual computations. Implementing the algorithm in Maple and several examples reported in this article demonstrate the high efficiency of the algorithm.

MR Subject classifications:

PUBLIC INTEREST STATEMENT

Studying differential equations from an algebraic point of view is the main goal of the differential algebra. Computing regular representations for differential ideal generated by differential systems is an algebraic tool in this field that analyses the solutions of polynomial differential systems. In this article, we present a new algorithm that computes regular representations for parametric differential systems that has various applications such as biological modeling, dynamical systems, etc.

1. Introduction

Differential algebra was initially founded in the early 20th century to study a system of ordinary or partial differential equations, from a totally algebraic point of view. This mathematical approach was developed by Ritt (Citation1950) and Kolchin (Citation1973) who also prepared a computational algebraic tool for solving partial differential equation (PDE) systems. The well-known Rosenfeld-Gröbner algorithm is one of the most important algorithms in this regard, which indeed can be considered as the beginning point of the computational differential algebra. This algorithm analyses a polynomial differential system in a differential algebraic mode and gives a regular representation of the radical differential ideal generated by this system. The algorithm has various applications for instance in Geometry (Sabzevari, Hashemi, Alizadeh, & Merker, Citation2016), finding the Lie symmetries of differential equations (Hydon, Citation2000) and theory of differential equations (Mansfield & Clarkson, Citation1997). The Rosenfeld-Gröbner algorithm was first described by Boulier (Citation1994) and improved by Boulier, Lazard, Ollivier, and Petitot (Citation1995) thereafter. The input of this algorithm is a polynomial differential system in a differential ring with constant coefficients while its output is a representation of radical of the differential ideal, generated by the input system, as a finite intersection of radical differential ideals. The computed representation allows testing membership in the radical of the ideal generated by given system and also computing Taylor expansions of solutions of this system (Boulier, Lazard, Ollivier, & Petitot, Citation2009).

As mentioned before, the input of this algorithm is a differential system with constant coefficients. However, sometimes, it is necessary to determine such a representation for a parametric differential system; a differential system that its coefficients depend on some parameters. For instance this system can be used for biological modelling (Boulier, Citation2007), dynamical systems (Harrington & Van Gorder, Citation2017; Jauberthie, Trave-Massuyes, & Verdiere, Citation2016) and so on. In this regard, even if the coefficients field is extended by these parameters, the output of the Rosenfeld-Gröbner algorithm may not include all of the representations for all possible values of the parameters. For example, consider the following differential system in which its coefficients depend on the parameters a,b and c.

P0=a2xyv(x,y)2+3bu(x,y)=03xy2v(x,y)xu(x,y)v(x,y)=0cxv(x,y)+u(x,y)+3=0

To simplify, we use indices:

P0=avx,y2+3bu=0vx,y,yuxv=0cvx+u+3=0

In the extended coefficient field by the parameters, with respect to the orderly ranking with considering uv and the graded lexical order y<x, the output of the Rosenfeld-Gröbner algorithm for the system P0 is empty. But, is this system really inconsistent for arbitrary values of the parameters? It can be easily shown that the answer is “no”. This system has the following representations for different values of the parameters a and b. When b=0 and a0 we have:

[P0]=[v,u+3]

and also when b=a=0 and c0 we have:

[P0]=[cv+uxuy,y,uxux,y,y+ux,xuy,yu3]:{ux}[v,u+3]

Presently, there is no context which introduces an algorithm giving all representations for all possible values of the parameters for a parametric system. Although, Boulier (Citation2018) explains how the Rosenfeld-Gröbner algorithm can manage different types of the parameters .This context was written from our demand and it was never published.

The main goal of this article is to obtain the distinct representations for all possible values of the parameters. According to this viewpoint, a case is a set of polynomial equalities and inequalities over the parameters accepting the same representation. Here, we present an algorithm with branching style that its root vertex corresponds to the inputted system. The inputted system is a differential system whose coefficients depend on some parameters. This algorithm branches some vertices according to possible values of the parameters and outputs the distinct representation depending on these values of parameters. Moreover, in this algorithm we apply a new criterion which can detect and delete a chain of the redundant computations.

The remainder of this article is organised as follows. We give an introduction to differential algebra in Section 2. In Section 3, we briefly describe the Rosenfeld-Gröbner algorithm. Section 4 describes the new algorithm to decompose a parametric differential system. Finally, some examples are presented in Section 5.

2. Differential algebra

In this section, we review some preliminaries concept of differential algebra. More details can be found in (Hubert, Citation2000; Kolchin, Citation1973; Ritt, Citation1950; Sit, Citation2002). In the following, we assume that K is a field of characteristic zero.

Definition 2.1. A differential ring is a commutative ring R associated with a finite set of derivations δ1,,δm, which commute with each other and satisfy the following equalities:

where 1im and r1,r2R. In a special case, if m=1, then R is called an ordinary differential ring and if m>1, then R is called a partial differential ring.

A differential ideal I of R is an ideal which is also closed under the action of derivations; i.e., δi(I)I for each 1im.

We will use Θ to denote the free multiplicative semi-group generated by the set δ1,,δm. It is easy to see that the elements of Θ, which are called derivative operators of R, are in the form of θ=δ 1d1δ 2d2δ mdm, where each di belongs to N0 and the sum ord(θ)=i=1mdi is the order of θ.

For each SR, the smallest subset of R containing S, which is also stable under the action of Θ is denoted by:

ΘS={θ(s)|θΘ,sS}.

We denote by (S) (resp.[S]) the smallest algebraic (resp. differential) ideal of R containing S. If R0 is a subring of R, using R0[S] (resp. R0S), we denote the smallest algebraic (resp. differential) subring of R0 containing S and R0 that are generated by S on R0. As a simple fact, we apply an algebraic approach on differential ideals and subrings due to [S]=(ΘS) and R0S=R0[ΘS].

Now, we present the following definition which has an important role in the main concepts.

Definition 2.2. Consider a differential ideal I and a set of differential polynomials S from R. The saturation ideal of I by S is defined as follows:

I:S={pR|spIforsomesS},

where S denotes the smallest multiplicative family of R which contains S.

In the sequel, we will deal with a differential polynomial ring R=Ku1,,un that is a differential ring generated by U=u1,...,un on K, where K is a differential field that for each θ in Θ and each constant k in K we have θ(k)=0. In this ring, each ui (resp. θui) is called an indeterminate (resp. a derivative).

In the next definition, we recall the concept of ranking that will be used to compare derivatives. In fact, rankings in a differential ring play a similar role of monomial orderings in polynomial rings.

Definition 2.3. Let R be a differential polynomial ring. Each ranking over R is an ordering over ΘU such that for each derivation θ and v,wΘU:

  • vθv, and

  • vw implies θvθw.

Orderings are divided into two different types: Rankings for which ord(θ)<ord(ϕ) implies that θ(v)ϕ(w), which are called orderly, and those for which vw concludes θvϕw, which are called elimination rankings.

Now, we introduce some terms of differential polynomials. Let pR=Ku1,...,un be a differential polynomial and be a ranking over ΘU. The leader ld(p) of p is the highest derivative appearing in p with respect to R. If ld(p)=u and d is the degree of u in p, then the initial ipR is defined to be the coefficient of ud in p. The separant sp of p is the polynomial p/u. The rank of p is the monomial ud, which is denoted by rankp. The rank of a set of polynomials is similarly the set of ranks of the elements of the set. Let A=p1,,pm and A=p1,,pm be two non-empty subsets of RK. Assume that, rankpi_rankpi+1 and rankpj_rankpj+1 for all i<m, j<m. The set A is said to be of lower rank than A, when either there exist some imin(m,m) such that rankpi<rankpi and rankpj=rankpj for 1j<i or m>m and rank pj=rankpj for 1jm. Two sets of polynomials that none of them is of lower rank than the other one are called of the same rank.

For any subset A of RK, we denote the set of the initials (resp. separants) of the elements of A by IA (resp. SA). Let now HA=IASA. Then, HA denotes the set of all the power products of the initials and the separants of the elements of A.

Definition 2.4. Consider two differential polynomials p and q in the differential ring R=Ku1,,un and let ud be the rank of p. Polynomial q is called partially reduced with respect to p if no proper derivative of u appears in q. Also, if the degree of q in u is less than d we say that q is algebraically reduced with respect to p. A polynomial q is called reduced with respect to the polynomial p if q is partially and algebraically reduced with respect to p.

A set ARK is said to be autoreduced if any element of A is reduced with respect to any other element of the set. Also if the elements of A are pairwise partially reduced and the leaders of them are pairwise different, we say that A is differentially triangular.

One of the important procedures in the context of differential algebra is the way of reducing a differential polynomial with respect to an autoreduced set. Let p be a differential polynomial and A=p1,,ps be an autoreduced set. By Ritt’s algorithm of reduction (see Kolchin Citation1973), there exists a differential polynomial r and non-negative integers b1,,bs and a1,,as such that

rip1a1ipsassp1b1spsbsp(mod[A]),

where i and s denote the initial and the separant of p respectively, and r is reduced with respect to A. If r is just partially reduced with respect to A, then we can write

rsp1b1spsbsp(mod[A]).

For the simplicity in notations, we denote r by pfullremA (resp. ppremA), if r is reduced (resp. partially reduced) with respect to A.

Now, we explain the concept of Δpolynomial of two differential polynomials, which plays a similar role to Spolynomial in algebraic polynomials ring. Before that, we need to know the definition of criticalpairs (Boulier et al., Citation2009). Also, we should state that for each derivative θu and ϕu of the same differential indeterminate u, the least common derivative is denoted by lcd(θu,ϕu), which equals to lcm(θ,ϕ)u.

Definition 2.5. A set p1,p2 of differential polynomials is said to be a critical pair if p1 and p2 are distinct and the leaders of them have common derivatives. If A is a set of differential polynomials then criticalpairs(A) denotes the set of all the pairs which can be formed between any two elements of A.

Definition 2.6. Let p1,p2 be a critical pair and denote θ1u=ld(P1), θ2u=ld(p2) and θ12u=lcd(θ1u1,θ2u2). The Δpolynomial Δ(p1,p2) of p1 and p2 is defined as follows:

Δ(p1,p2)=sp2θ12θ1p1sp1θ12θ2p2

If A is a subset of R, then the set of all Δpols(A) denotes the set of all possible Δpolynomials which can be formed between any two elements of A.

Here, we give the definition of solved pairs, which was defined earlier by Boulier et al. (Citation2009) for the first time.

Definition 2.7. A critical pair p1,p2 is said to be solved by a differential system of equations and inequations A=0 and S0 if there exists a derivative v<lcd(p1,p2) such that:

Δ(p1,p2)Av:(SRv)

where Av={θp|pA,θΘ,ld(θp)v} and SRv={pA|ld(p)v}.

One can apply the following criterion (lemma 6 in Boulier et al., Citation2009) to recognise the solved pairs:

Lemma 2.8. Let p1,p2 be a critical pair such that ldp1ldp2. If Δ(p1,p2) is reduced to zero by a set A and S is a set of inequations containing HA; then, the critical pair p1,p2 is solved by the system A=0 and S0.

Definition 2.9. Let R=KU be a differential polynomial ring and be a ranking over ΘU. A differential system of equations A=0 and inequations S0 of R is said to be a regular differential system with respect to if:

  • A is differentially triangular

  • S contains the separants of the elements of A and it is partially reduced with respect to A

  • All critical pairs of A are solved by the system A=0 and S0 (coherent property)

The differential ideal [A]:S is called the regular differential ideal defined by the system. Moreover, the system is considered inconsistent if [A]:S equals to R, and consistent otherwise.

At the end of this section, let us mention some properties and a brief explanation of Gröbner bases for an algebraic ideal (see Becker & Weispfenning, Citation1991; Cox, Little, & O’Shea, Citation1992), which is applied in the next sections. Consider R=K[x1,,xn] as a polynomial ring and xˉ as a term ordering over R. Note that the reduction in the polynomial ring is algebraic and the remainder of the reduction is denoted by algrem.

If G is a Gröbner basis with respect to xˉ for ideal I=(A) then we have:

  • I=(G), which means that G is also a generator for the ideal I.

  • If G is also reduced, then it is unique with respect to the ordering xˉ; in other words, for an ideal, there is just one reduced Gröbner basis with respect to certain ordering.

  • The ideal I is equal to R (the system A=0 has no answer) if and only if 1G or the reduced Gröbner basis is equal with the set 1.

Note that having the following lemma (Boulier et al., Citation2009), even if the set of variables is infinite, Gröbner bases can be computed of finitely generated ideals of K[x1,...,xn]. So, we can compute Gröbner bases of (non-differential) ideals in differential polynomial rings.

Lemma 2.10. Let I be an ideal of a ring R and x be transcendental over R. If φ denotes the canonical ring homomorphism φ:RR[x], then φ1(φ(r))=r.

Consider the system of equations A=p1,,pn and inequations S=h1,,hm of R. To get a Gröbner basis G of (A):S, we just need to run the following steps:

  1. Introduce a new set z1,...,zm of unknowns and rewrite each inequation hi0 as hizi=1.

  2. Compute a Gröbner basis G0 of the ideal generated with the set

    p1,,pn,h1z11,,hmzm1

    with respect to any ordering that eliminates the z’s.

  3. Construct G by selecting the members of G0 that do not involve zi for any 1im (G=G0R).

3. Rosenfeld-Gröbner algorithm

In this section, we describe the Rosenfeld-Gröbner algorithm (see Boulier et al., Citation2009 for more details). Let P0R, the Rosenfeld-Gröbner algorithm decomposes the differential radical ideal [P0] as a finite intersection of regular differential ideals Pi’s:

[P0]=P1Pt

Each regular differential ideal Pi is presented by two sets of differential polynomial equations Ai and differential polynomial inequations Si such that Pi=[Ai]:Si. If Gi is a Gröbner basis for the saturation ideal Pi, so Gi reduces to zero a differential polynomial p if and only if p belongs to Pi. Although, the ideal membership problem is algorithmically undecidable (Umirbaev, Citation2016), this algorithm permits to test the membership in [P0].

This decomposition is not uniquely determined in general, not only because there might be redundant components (some of them may be contained in another) but also it depends on many choices made during its construction, such as the choice of ranking. The following theorem (Boulier et al., Citation2009) shows that there is such a decomposition for each system of differential polynomials.

Theorem 3.1. If P0=0, S00 is a differential system in a differential polynomial ring R, then it is possible to compute finitely many consistent regular differential systems Ai=0, Si0 (1it) such that:

Γ=[P0]:S0=[A1]:S1[At]:St

This decomposition may contain components redundant w.r.t. Γ. Operations needed in this regard are addition, multiplication, differentiation and equality test with zero in the base field of R.

A lemma of D. Lazard (Boulier et al., Citation1995) shows particularly that the regular ideals [Ai]:Si are radical. The following theorem is a differential analogue to Hilbert’s theorem of zeros (Kolchin, Citation1973).

Theorem 3.2. (Theorem of zeros) Let R=KU be a differential polynomial ring over a differential field of characteristic zero and P be a differential ideal of R. A differential polynomial p vanishes on every solution of P in any differential field extension of K, if and only if pP.

Corollary 3.3. A differential polynomial p vanishes on every solution of a system of polynomial differential equations and inequations A=0,S0 if and only if p[A]:S.

Here, we give a brief exposition of the current version of the Rosenfeld-Gröbner algorithm, which is presented in (Boulier et al., Citation2009). The input of this algorithm is a differential system of equations and inequations with a ranking and the output is a set of differential regular ideals. Since a differential regular ideal is differentially triangular and coherent, the algorithm reduces each polynomial equation with respect to others and constructs possible Δ-polynomials, which can be formed between each pair of polynomials modulo processed polynomials. Then, the initials and the separants of the new polynomials are added to the set of inequations. Finally, to observe any solution, the current system is splitted by the following lemma which is a corollary of the theorem of zeros:

Lemma 3.4. If A=0, S0 is a differential system and p is a differential polynomial then,

[A]:S=[A,p]:S[A]:(S{p}).

This process continues until all systems are regular. Eventually, by the following Rosenfeld’s lemma (Rosenfeld, Citation1959), the consistent regular systems are detected and generated.

Theorem 3.5. (Rosenfeld’s lemma) If A=0, S0 is a regular differential system of a differential polynomial ring R for a ranking then, every differential polynomial in [A]:S that is partially reduced with respect to A, belongs to (A):S.

By Rosenfeld’s lemma, 1[A]:S if and only if 1(A):S. It concludes that we can verify whether the regular differential system of equations A=0 and inequations S0 is inconsistent, by verifying whether the reduced Gröbner basis of algebraic ideal (A):S equals to 1.

The complete sub-algorithm of this algorithm is based on two criteria which detect unnecessary pairs. These criteria are the analogues of the first and second Buchberger criteria (Buchberger, Citation1979) established in computing Gröbner bases for ideals.

Proposition 3.6. Let p and q be two differential polynomials in the one differential indeterminate u such that ld(p)=θu and ld(q)=ϕu. If they are linear, homogeneous, with constant coefficients, and lcd(θu,ϕu)=θϕu, then Δ(p,q) will be reduced to zero with respect to p,q.

Proposition 3.7. Let A=0 and S0 be a differential system and [p1,p2,p3] be the triple of differential polynomials such that the separants of pis belong to S and they satisfy in conditions C: (i) the leaders ld(pi)=θiu (1i3) have common derivatives and are pairwise different, (ii) lcd(θ1,θ3) is a derivative of θ2 and (iii) one of the following conditions holds:

1. θiu is not a derivative of θju ()ij

2 p1<p2<p3 or p3<p2<p1

3. p2<p1<p3 and degree(p1,θ1u)=1

4. p1<p3<p2 and degree(p3,θ3u)=1

If the critical pairs p1,p2 and p2,p3 are solved by A=0 and S0, then the critical pair p1,p3 is also solved by this system.

Now, we present the general form of the algorithm. In each quadruple A,D,P,S the sets A,P,S and D contain the equations already processed, the non processed equations, the inequations and the possible critical pairs of the processed equations that have to be solved.

Algorithm 3.1. The Rosenfeld-Gröbner algorithm

Input: The system P0=0 and S0 and a ranking .

Output: The regular systems Ai=0 and Si0 s.th [P0]:S=[A1]:S1...[At]:S.

Begin

Set ToDo:=,,P0,S0

Done:=

while ToDo do

Select and remove a quadruple A,D,P,S from ToDo

if D=P= then

Partially reduce the elements of A pairwise

if the rank of A was not modified then

Partially reduce the elements of Sw.r.t A

if the reduced Gröbner basis of (A):Sis not 1then

Done:=DoneA=0,S0

end if

end if

else

if P then

Select and remove q0 from P

else

Select and remove a critical pair p0,p0 from D

q0:=Δ(p0,p0)

end if

q:=q0fullremA

if q=0 then

ToDo:=ToDoA,D,P,S

else

qi:=qivd(vdand i are the initial and the rank of q, respectively)

qs:=dqvs (s is the separant of q)

ToDo:=ToDoA,D,Pi,qi,S

ToDo:=ToDoA,D,Ps,qs,Si

ToDo:=ToDoComplete (A,D,P,S,q)

end if

end if

end do

Return Done

End

Algorithm 3.2. The Complete sub-algorithm

Input: A quadruple A,D,P,S and a reduced polynomial q w.r.t A

Output: The refinement of A,D,P,S with regard to q based on two propositions 3.6 and 3.7.

Begin

Set A:=q{pA|ldpisnotaderivativeofldq}

D0:=possiblecriticalpairsp,q|pA

Obtain

D1D0 as follows:

a critical pair p,qD0 is not kept in D1 only if:

p and q satisfy in the hypotheses of the Proposition 3.6 or

there exists a critical pair q,p in D1 such that

the triple [q,p,p] satisfies in the conditions C of the Proposition 3.7.

D2D as follows:

a critical pair p,qD0 is not kept in D1 only if:

there exist a critical pair p,p in D such that the triple

[p,q,p] satisfies in the conditions C of the Proposition 3.7 and lcd(ldp,ldp)

is different from both lcd(ldp,ldq) and lcd(ldp,ldq).

D:=D1D2

P:=p

S:=Siq,sq

Return A,D,P,S

End

4. The statement of the main results

In this section, we deal with a differential system in which the coefficients depend on some parameters. We define the parametric differential ring as R=K[α1,...,αt]u1,...,un . In this ring, the coefficients of the differential polynomials are in the ring K[α1,...,αt]. Here, we present a parametric-Rosenfeld-Gröbner algorithm that its input is a system of equations and inequations in the parametric differential ring R. This algorithm outputs all distinct representations for all possible values of the parameters. These representations are recognised by the pair (N,W) which contains equations and inequations in K[α1,...,αt]. To be comparable, this pair is presented as Quasi-canonical which is defined as follows (Montes, Citation2002):

Definition 4.1. The pair (N,W)is said to be k-quasi-canonical if it satisfies:

  • Nis the reduced Gröbner basis in Quot(K)[α1,...,αt] where Quot(K) is the quotient field of K, with respect to the ordering αˉ.

  • The inequations in W are algebraically reduced modulo N and are irreducible over k[α1,...,αt], where k is some intermediate field between Quot(K) and the algebraic closure K. They are normalised in a canonical form in order to be recognised when compared.

  • wWwN.

  • The polynomials in N are square-free.

  • If some polynomial in N factors, no factor of it belongs to W.

If wWw is in N, then we say that this pair is inconsistent.

It is necessary to mention the terms zero and non-zero differential conditions of a polynomial p are the initial, separant or the factors of p that can be considered zero and non-zero, respectively. Each of these conditions is in K[α1,...,αt], it is called a parametric condition. Also, the terms new zero and new non-zero conditions are those which have not been considered yet. The Parametric-Rosenfeld-Gröbner algorithm has a tree structure that its root vertex corresponds to the sextuplet ,,P0,S0,,, where P0=0 and S00 is the inputted system. This vertex is branched by the sub-algorithm Make-Tree I regarding zero and non-zero parametric and differential conditions of the polynomials of P0, which are obtained by the sub-algorithms Find-New-DiffCondition and Find-New-ParCondition, and some new vertices are created. Each vertex v corresponds to a sextuplet Av,Dv,Pv,Sv,Nv,Wv, where Av is the set of all processed polynomials, Sv is the union of the set of inequations S0 with the non-zero differential conditions of the polynomials of Av, Dv is set of all critical pairs of Av that should be solved by the system Av=0 and Sv0, Pv contains all polynomials that are not processed already, and Nv and Wv are respectively the zero and non-zero parametric conditions and are presented as k-quasi-canonical. The branching process continues until at a vertex v either the sub-algorithms Parametric-Consistency and Differential-Consistency recognise that the system Av=0 and Sv0 is inconsistent (in this case, the vertex v is called an inconsistent vertex), or both sets Dv and Pv are empty (in this case, the system Av=0 and Sv0 is regular and the vertex v is called a terminal vertex). Finally, the consistent regular systems are detected using Rosenfeld’s lemma that was stated in the previous section and outputted. Each set of outputted regular systems that contains a given parametric conditions makes a regular representation corresponding to these parametric conditions. The general structure of the algorithm is as follows.

Algorithm 4.1. The Parametric-Rosenfeld-Gröbner algorithm

Input: A differential system P0=0,S00 in K[α1,...,αt]u1,...,un, a ranking and a total ordering αˉ

Output: All distinct representations of P0:S0 for all possible value of parameters α1, ...,αt

Begin

Set root vertex:,,P0,S0,,

Make-Tree I(,,P0,S0,,) (It starts to the branching recursively.)

At each vertex v, Av,Dv,Pv,Sv,Nv,Wv, is stored in the variables table.

if Av,Dv,Pv,Sv,Nv,Wv is a terminal vertex then

if the reduced Gröbner basis of (Av):Sv does not equal to 1 then

return ([Av,Sv],[Nv,Wv])

end if

end if

End

We now present the general structure of the recursive sub-algorithm Make-Tree I. The input of this sub-algorithm is a vertex v corresponding to the sextuplet Av,Dv,Pv,Sv,Nv,Wv. This algorithm creates some new branches when the sub-algorithm Find-New-ParCondition finds any new zero or non-zero parametric conditions. If there is not any parametric condition, then the sub-algorithm Make-Tree II is called for branching the vertex. Make-Tree II branches a vertex according to differential conditions of given polynomial. When any new vertex is created by these algorithms, then the algorithm Make-Tree I is called again and some other new branches are created. This process continues until the created vertex v is a terminal or inconsistent vertex.

Algorithm 4.2. The Make-Tree I sub-algorithm

Input: A vertex v corresponding to the sextuplet Av,Dv,Pv,Sv,Nv,Wv .

Output: Some new vertices.

Begin

if v is a inconsistent vertex or a terminal vertex then

STOP

else

if Dv then

Select and remove a critical pair p1,p2 from Dv and q:=Δ(p1,p2)algremNv

else

Select and remove a polynomial p from Pv and q:=palgremNv

end if

q:=qfullremAv

if q=0 then Make-Tree I (Av,Dv,Pv,Sv,Nv,Wv)

else

Find-New-ParCondition (q,Nv,Wv)=(q,N.v,Wv,newcond) (It contains the refinement of q, Nv and Wv with the new zero and non-zero parametric conditions)

if there is no new parametric condition then

Make-Tree II(v,q)

else

for each zero parametric condition zc do

Set Au:={pAv|pisalgebraicallyreducedw.r.tzc}

Pu:=Pv(AvAu)qalgremzc

the new vertex u:=Au,Dv,Pu,Sv,Nvzc,Wv

Make-Tree I (Au,Du,Pu,Nu,Wu)

end do

if the set of non-zero conditions NZC is not empty then

Set the new vertex u:=Av,Dv,Pv,Sv,Nv,WvNZC

Make-Tree II (Au,Du,Pu,Nu,Wu,q).

end if

end if

end if

End

This algorithm creates some new vertices according to zero and non-zero conditions. The first step is processing the parametric conditions of the given polynomial. The zero conditions are added one by one to the set of zero parametric conditions Nv. Then, all processed polynomials Av that are not algebraically reduced with respect to the new zero condition are moved to the set of unprocessed polynomials Pv. In this way, the new vertices are created and the algorithm Make-Tree I is called again for branching them. If the non-zero conditions set is not empty, then another new vertex is created by adding these conditions to the set Wv and the sub-algorithm Make-Tree II is called to process the differential conditions of the polynomial and branch the vertex.

The inputs of Make-Tree II are a vertex and a polynomial q. The general form of this algorithm is as follows:

Algorithm 4.3. The Make-Tree II sub-algorithm

Input: A vertex v and a polynomial q.

Output: Some new vertices.

Begin

Find-New-DiffCondition(q,Sv) (It contains two set of zero and non-zero conditions.)

if there is no new differential condition then

Make-Tree I(Update(v,q,))

else if the set of non-zero conditions is empty then

for each zero condition z do

q:=subs(z=0,q)

Set the new vertex u : Av,Dv,Pvz,q,Sv,Nv,Wv

Make-Tree I(Au,Du,Pu,Su,Nu,Wu)

end do

else

Make-Tree I(Update(v,q,nonzeroconditions))

Let z1,...,zt be the set of zero conditions

for i=t down to 1 do

q:=subs(zi=0,q)

Set the new vertex u:Av,Dv,Pvzi,q,Svz1,...,zi1,Nv,Wv

Make-Tree I(Au,Du,Pu,Su,Nu,Wu)

end do

end if

End

Generally, in Make-Tree II there are two possibilities to create a new vertex:

  • When the polynomial q has some zero conditions, these conditions are imposed on the polynomial q. The result is a new polynomial with the zero conditions that are added to the set of non-processed polynomials Pv and non-zero conditions that are added to the set of inequations Sv.

  • When the polynomial q does not have any zero condition, the non-zero conditions (if there is any) are added to the set of inequations Sv, the polynomial q is added to the set of processed polynomial Av and former members of the set Av, and the set Dv is updated. This process is performed in the sub-algorithm update, which will be described later.

The parametric and differential conditions of a polynomial are obtained by the sub-algorithms Find-New-ParCondition and Find-New-DiffCondition, respectively. In the following, we explain these algorithms. The inputs of Find-New-ParCondition are a polynomial p with two sets of the zero parametric conditions N and the non-zero parametric conditions W. This algorithm checks the initial of the polynomial p according to old zero and non-zero conditions and returns new conditions, which can be considered zero and non-zero. Before presenting this algorithm, it should be noted that the set of irreducible polynomials that are factors of the polynomials of W is denoted by PriFact(W), which is normalised in a canonical. Also, for each polynomial in K[α1,...,αt]u1,...,un, the notation pcoef(p) denotes the product of the factors of p, which are in K[α1,...,αt].

Algorithm 4.4. The Find-New-ParCondition sub-algorithm

Input: A polynomial p and two sets of zero and non-zero conditions N and W.

Output: The refinement of p, Nand W and also, zero and non-zero conditions of p.

Begin

set p:=p;sw:=true;N:=N;w:=W;

while sw=true do

if pcoef(ip)N then

p:=pipvd (ip and vd are the initial and the rank of p, respectively)

N:= Gröbner basis for Nip w.r.t aˉ

W:={walgremaˉN|wW}

else sw:=false

end if

end do

p=palgremaˉN

cond:=PriFact(pcoef(ip)) minus W

if pK[aˉ] then

return cond (as the zero and non-zero condition)

else

return cond (just as the zero condition)

end if

End

This algorithm checks the parametric coefficient of the initial of the polynomial p, pcoef(ip). When pcoef(ip) is zero, it begins omitting iteratively the leading term of p. In the following, the parametric coefficient pcoef(ip), which is in N, is added to N in order to improve N and the new Gröbner basis is recomputed. Then, W is also improved. When pcoef(ip) is not decidable regarding the set of zero and non-zero conditions N and W, then p is algebraically reduced with respect to N. The algorithm now computes the set cond containing the irreducible factors of pcoef(ip) that are not in W and returns it. If this is empty, it means that pcoef(ip) is not zero and p does not have any new parametric condition. Otherwise, if p is not in K[α1,...,αt], so the set cond is as zero and non-zero parametric conditions of p. Otherwise, the set cond is as just zero parametric conditions of p, because the inputted polynomial of this algorithm comes from the set of equations and cannot be non-zero.

Now, we present the sub-algorithm Find-New-DiffCondition that computes the zero and non-zero differential conditions of a polynomial. The inputs of this algorithm are a differential polynomial p and the set of inequations Sv. This sub-algorithm verifies the polynomial p and its initial and separant and finds the new zero and non-zero conditions regarding the set of inequations Sv. The following proposition which works as an efficient criterion in this algorithm helps to remove some ineffectual conditions.

Proposition 4.2. Let pR=KU be a differential polynomial with the non-zero initial ip and the separant sp. Let also S be a set of differential inequations. If there is a member hS such that it is reduced to zero with respect to p, then p cannot be zero.

Proof. Suppose not. Since for some hS we have hfullremp=0 (the initial and the separant of p are non-zero and the reduction by p is possible), then for some integers ai we have ipa1spa20mod([p]), suggesting that for a non-zero polynomial bR and a derivative θΘ, ipa1spa2h=bθp. Beacuse p is assumed to be zero, h should be zero as well, which contradicts the assumption.

Algorithm 4.5. The Find-New-DiffCondition sub-algorithm

Input: A polynomial p and the set of inequations S.

Output: The zero and non-zero conditions regarding p.

Begin

set zerocond,nonzerocond:=

if p=u1ut is a product of distinct factors u1,..,ut then

for i=1 to t do

if iui,suiS or for each hS, hfullremui0 then

Add c to zerocond

end if

end do

else

for cip,spK do (ip and sp are the initial and the separant of p)

if ic,scS or for each hS, hfullremc0 then

Add c to zerocond and nonzerocond

end if

end do

end if

Return (zerocond,nonzerocond)

End

In the Find-New-DiffCondition algorithm if the inputted polynomial p is a product of distinct non-constant factors, then each of these factors may be a zero condition. However, some of these factors that satisfy the hypothesis of Proposition 4.2 cannot be zero and they are removed from zero conditions. It should be noted that in this algorithm we use two obvious ways to find the factors of the inputted polynomial p. When p is a product of some polynomials, we consider these polynomials as its factors. For example, let the inputted polynomial be p=avyux,y, such that a, uy and ux,y are three factors of p. Also, when the greatest common divisor (gcd) of all terms of p does not belong to K, we consider it as a factor of p. For example, if the inputted polynomial is p=u4+u, so u is the gcd of the two terms of p, suggesting that u and u3+1 are two factors of p.

Otherwise, the initial and the separant of p, provided not being in K, should be considered zero and non-zero. However, each of them that satisfies in the hypothesis of Proposition 4.2 will be removed from zero conditions. When a polynomial q satisfies in Proposition 4.2, it means that there is a polynomial h in the set of inequations Sv such that it forces the polynomial q not be zero. In fact, this proposition plays an important role in the Parametric-Rosenfeld-Gröbner algorithm. As mentioned, this proposition decreases the number of zero conditions leads to a decrease in the number of ineffectual branches that will be made in the sub-algorithm Make-Tree II.

Now, we explain the general structure of the sub-algorithm Update. The input of this algorithm is a vertex u corresponding to the sextuplet Au,Du,Pu,Su,Nu,Wu, a polynomial q and non-zero conditions. This algorithm adds the new non-zero conditions to the set of inequations Su and the new polynomial q to the set of processed polynomials Au. Then based on two analogues of Buchberger’s criteria, it starts to make possible critical pairs between q and the other members of Au and adds them to the set of critical pairs Du. In this way, a new vertex that corresponds to the sextuplet Av,Dv,Pv,Sv,Nv,Wv is created.

Algorithm 4.6. The Update sub-algorithm

Input: A vertex u, a polynomial q and its non-zero conditions.

Output: A new vertex v.

Begin

Set Av:=q{pAu|pisreducedw.r.tq}

Pv:=Pu{p|pAus.thlcd(ldq,ldp)ldqandpisnotreducedw.r.tq}

D0:=possiblecriticalpairsp,q|pAus.thpisreducedw.r.tqorlcd(ldq,ldp)=ldq

Obtain

D1D0 as follows:

a critical pair p,qD0 is not kept in D1 only if:

p and q satisfy in the hypotheses of the Proposition 3.6 or

there exist a critical pair q,p in D1 such that

the triple [q,p,p] satisfies the conditions C of the Proposition 3.7.

D2Du as follows:

a critical pair p,qD0 is not kept in D1 only if:

there exist a critical pair p,p in Du such that the triple

[p,q,p] satisfies in the conditions C of the Proposition 3.7 and lcd(ldp,ldp)

is different from both lcd(ldp,ldq) and lcd(ldp,ldq).

Dv:=D1D2

Sv:=Suiq,sq

Return Av,Dv,Pv,Sv,Nv,Wv

End

If a polynomial p in the set Av is not reduced with respect to the new polynomial q, then it exits from the set Av for reprocessing. Now, if ldp is not reduced with respect to ldq, then the critical pair p,q is added to the set D0 to recognise more solved critical pairs by the analogues of the Buchberger criteria; otherwise, it is added to the set Pv. The rest of the algorithm is based on two propositions 3.6 and 3.7.

Remark 1. This sub-algorithm is similar to the Complete sub-algorithm. For further information about this sub-algorithm, see the part 5.2 of the article (Boulier et al., Citation2009).

Finally, we present the sub-algorithms Parametric-Consistency and Differential-Consistency, which check the termination conditions in the Make-Tree I algorithm. Parametric-Consistency checks the sets of zero and non-zero parametric conditions Nv and Wv of a vertex v and returns FALSE if the pair (Nv,Wv) is inconsistent. Otherwise, it returns a k-quasi-canonical representation of the pair (Nv,Wv) according the definition 4.1.

Algorithm 4.7. The Parametric-Consistency sub-algorithm

Input: The sets of zero and non-zero conditions N,W and an ordering αˉ.

Output: FALSE, if the pair (N,W) is inconsistent and the k -quasi-canonical

representation of (N,W), otherwise.

Begin

Set W:=PriFact({qalgremαˉN|qW})

sw:=true; N:=N;

if qWqN then

return FALSE

else

While sw=true do

sw:=false;

N′′:= Drop any factor of a pN that belongs to

W, as well as multiple factors.

if N′′N then

sw:=true

N:= Gröbner basis for N′′ w.r.t αˉ

W:=PriFact({qalgremaˉN|qW})

end if

end do

return N and W

end if

End

For more details and the proof of correctness of this algorithm, the reader can refer to (Montes, Citation2002).

Now, we explain another sub-algorithm for checking the consistency of the vertices, which is called Differential-Consistency sub-algorithm. For each vertex v corresponding to the sextuplet Av,Dv,Pv,Sv,Nv,Wv, if the output of the Parametric-Consistency is not FALSE, then this vertex will be refined by the k-quasi-canonical representation of Nv and Wv. After that, Differential-Consistency sub-algorithm checks the consistency of this vertex regarding the differential conditions. According to this algorithm, this vertex is inconsistent if either a non-zero element of K appears among the equations Av or 0 appears among the inequations Sv, or the system Av=0 and Sv0 satisfies in the following proposition. As mentioned in subsection 5.5.2 of (Boulier et al., Citation2009), using this proposition is not very CPU expensive and can point out inconsistencies.

Otherwise, it refines the vertex by reducing the set of inequations Sv with respect to the set of processed equations Av.

Proposition 4.3. Let A=0 and S0 be a system of equations and inequations such that the initials and the separants of the members of A belong to S. If there is a polynomial hS such that h is reduced to 0 with respect to A, then the system A=0 and S0 is inconsistent.

Proof. Let A=p1,...,pt and for some hS we have hfullremA=0. Then, for some integers ai and bi we have ip1a1iptatsp1b1sptbth0(mod[A]). Thus, for some non-zero polynomials qi and derivatives θiΘ we can write:

ip1a1iptatsp1b1sptbth=q1θ1p1++qtθtpt.

Since for each i, θipi=0 and the coefficient of h is non-zero, h should be zero and so the system A=0 and S0 is inconsistent.

Algorithm 4.8 The Differential-Consistency sub-algorithm

Input: A vertex v corresponding to a sextuplet Av,Dv,Pv,Sv,Nv,Wv.

Output: FALSE, if the system Av=0 and Sv0 is inconsistent and the refinement of v, otherwise.

Begin

if AvK then

Return FALSE

else

if 0{r|r=qremAv,qSv} then

Return FALSE

else

Return Av,Dv,Pv,{r|r=qfullremAv,qSv}K,Nv,Wv (Refinement of data)

end if

end if

End

Now, we prove the correctness of the Parametric-Rosenfeld-Gröbner algorithm, but before that we need the following lemma.

Lemma 4.4. If A=0, S0 is a differential system and p1p2 is a product of two differential polynomials then:

[A,p1p2]:S=[A,p1]:S[A,p2]:S

Proof. We begin by showing that [A,p1p2]:S[A,p1]:S[A,p2]:S. Let p be a differential polynomial in [A,p1p2]:S. According to the theorem of zeros, it suffices to show that p vanishes on every solution of the systems of A=0,p1=0,S0 and A=0,p2=0,S0. Now, let α be a solution of these systems, then it also will be a solution of the system A=0,p1p2=0,S0. Therefore, p vanishes on α and it will belong to [A,p1]:S[A,p2]:S. Conversely, let p be in [A,p1]:S[A,p2]:S and α be a solution of the system A=0,p1p2=0,S0. We only need to show that p vanishes on α. Since p1p2 vanishes on α, so p1 or p2 vanishes on α. If p1 is so, then α will be a solution of the system A=0,p1=0,S0 and p vanishes on α (since p[A,p1]:S). Similarly, if p2 vanishes on α, then p is so. Therefore p belongs to [A,p1p2]:S and the proof is completed.

Theorem 4.5. Consider the parametric system A=0 and S0 in the parametric differential ring K[α1,...,αt]u1,...,um, the term ordering aˉ and the ranking . The Parametric-Rosenfeld-Gröbner algorithm decomposes the A=0,S0 with a tree structure that at each terminal vertex v the pair (Nv,Wv) of parametric conditions is k -quasi-canonical for some field k, the system Av=0 and Sv0 is regular, and the systems corresponding to terminal vertices v1,...,vt with the same parametric conditions satisfy in:

A:S=[Av1]:Sv1[Avt]:Svt

for these conditions.

Proof. According to Parametric-Consistency, the pair (Nv,Wv) at each terminal vertex v is k-quasi-canonical. Now, we prove that the systems corresponding to terminal vertices are regular. At each terminal vertex v, two sets Dv and Pv are empty, which means that all possible critical pairs between the members of Av are solved with the system Av=0 and Sv0. Also, as Dv is the set of critical pairs that should be solved and each member of Av is reduced with respect to others. So, the set Av is autoreduced and coherent. Furthermore, according to the Update sub-algorithm, when a new polynomial is added to Av, the initial and separant of this is added to Sv so Sv contains all initials and separants of the members of Av and the system Av=0 and Sv0 is regular. Now, it is the time to show the regular ideals corresponding with terminal vertices with the same conditions of the pair (Nv,Wv) satisfy in intended intersection according to this condition. As already noted, the sub-algorithm Make-Tree I firstly branches the vertex v with respect to zero and non-zero parametric conditions of a polynomial p, which are computed by the Find-New-ParCondition sub-algorithm, and makes new vertices with different parametric conditions. If this polynomial does not have any parametric condition, the Make-Tree II begins to branch the vertex by differential conditions of the polynomial and the parametric conditions of these new vertices are equal. So, it is sufficient that we show when a vertex v is branched by differential conditions of a polynomial, the radical ideal Av:Sv equals to the intersection of radicals of saturation ideals corresponding to the created vertices. If the polynomial p is as a product of some polynomials, then Find-New-DiffCondition returns some zero conditions and Make-Tree II makes some new vertices by adding these conditions to the set of equations. According to the previous lemma, the radical of the saturation ideal of the system corresponding to the vertex v is equal to the intersections of radicals of saturation ideals corresponding to new vertices. Otherwise, Find-New-DiffCondition returns some conditions that should be considered zero and non-zero. In addition, according to Lemma 4.4, the radical of the saturation ideal of the system corresponding to the vertex v is also equal to the intersections of radicals of saturation ideals corresponding to the new vertices. So, the radical of the corresponding saturation ideal with the root vertex for each parametric condition is as the intersections of radicals of saturation ideals corresponding to terminal vertices with the same parametric conditions. Finally, since this ideals are regular and regular ideals are radical (Lazard’s lemma, see Boulier et al., Citation1995), the claim of the theorem is proved.

5. Example

In this section, we present the output of the Parametric-Rosenfeld-Gröbner algorithm for several examples in the differential ring R=Q[a,b,c,d](x,y,z)m,u,v,w considering the orderly ranking as wvum and elimination ranking as muvw for the graded lexical order z<y<x. The implementation of this algorithm in Maple is available at the address http://faculty.du.ac.ir/rahmani/software. The output of this algorithm is in the form of a discussion about the distinct representations of given system as an intersection of regular ideals for different cases of values of parameters. As stated in section 5 of (Boulier, Citation2018), DifferentialAlgebra packege of Maple permits to define parameters and makes such decompositions.

First consider the parametric differential system P1, also known as Lorenz system (Harrington & Van Gorder, Citation2017), with the orderly ranking.

P1=uxa(vu)=0vxu(bw)+v=0wxuv+cw=0

Table describes the discussion of decomposing of system P1 for different values of the parameters a, b and c. As can be seen, when the parameter a is considered non-zero, we have the following representation for the radical of ideal [P1] for each arbitrary values of b and c:

[P1]=[auav+ux,abu+auw+au+aux+ux+ux,x,abcu2+au4+acu2+acuux+u3ux
+auux,xaux2+cuux+cuux,x+uux,x+uux,x,xux2uxux,x]:{u}[u,v,cw+wx]

Table 1. Discussion of the system P1 (Lorenz system)

It is notable that if we substitute a=0 in this representation, then the first ideal will be inconsistent, suggesting that it is essential that this parameter is not zero. According to this table for the case a=0 we have another representation as follows:

P1=[ux,bu+uw+v+vx,bcuu2vcvcvxvxvx,x]:{u}[u,v+vx,cw+wx],

This representation is also independent of the values of b and c.

Now, consider the Genesio-Tesi system (Harrington & Van Gorder, Citation2017) that contains three ODE equations and the orderly ranking.

P2=wvx=0vux=0au+bv+cw+u3wx=0

The output of the Parametric-Rosenfeld-Gröbner algorithm contains only one case meaning that for each value of the parameters a, b and c we have the same representation as follows:

[P2]=[vux,wux,x,u3+au+bux+cux,xux,x,x]

For arbitrary values of a, b and c the ideal of this representation is regular and consistent, so this representation can be used for all cases of the values of the parameters.

Finally, we discuss the following PDE system with the elimination ranking. Although this system has no physical significance, it has more distinct representations.

P3=(a+1)ux,x2v+bux,xv+cux=0ux,y=0auy,y1=0

Table presents the decomposing of this system. The table shows all distinct representations for all possible values of the parameters. It means that for not mentioned cases there is no regular representation for the radical of ideal [P3]. For instance, in the case a=0, the system P3 is inconsistent so the output of Parametric-Rosenfeld-Gröbner algorithm does not contain this case.

Table 2. Discussion of system P3

6. Conclusion

We presented a new algorithm with branching style that examines the values of the parameters of the parametric differential system and returns all distinct regular representations for all possible values of these parameters. The branches of this algorithm are made by differential or parametric conditions of equations. When a vertex is branched by parametric conditions only the information of this vertex is needed to follow the branches below it, and no other information about the upper or lateral vertices is needed. Accordingly, this algorithm can be implemented in parallel such that all distinct representations are made individually and simultaneously in a time-saving manner. We also applied a new criterion for reducing the ineffectual branches made by differential conditions that should be processed in this algorithm.

Additional information

Funding

The authors received no direct funding for this research.

Notes on contributors

Sajjad Rahmany

The first author of this article is Shahnaz Fakouri. She is a Ph.D. student of pure mathematics in the computational algebra tendency at Damghan University, Iran. This article is a result of her Ph.D. thesis.

Other authors are Dr. Sajjad Rahmany and Dr. Abdolali Basiri. They are associate Professors of Computer Algebra at the University of Damghan, Iran. They received the Ph.D degrees at University of Pris 6. Their research interests include Gröbner basis and solving polynomials systems. They published more than 30 papers in international journals such as Theoretical Computer Science, Soft Computing, Information Sciences, JIFS and conference proceedings.

References

  • Becker, T., & Weispfenning, V. (1991). Gröbner bases: A computational approach to commutative algebra, graduate texts in mathematics (Vol. 141). New York, NY: Springer.
  • [Boulier, F.(1994). Étude et Implantation de Quelques Algorithmes en Algébre Différentielle ( PhD thesis). Université Lille I, 59655, Villeneuve d’Ascq, France.
  • Boulier, F. (2007). Differential elimination and biological modelling, radon series on computational and applied mathematics. Gröbner Bases in Symbolic Analysis, 111-139.
  • Boulier, F. (2018). The management of parameters in the MAPLE differentialalgebra package. working paper or preprint (never published). Retreived from https://hal.archives-ouvertes.fr/hal-01825191.
  • Boulier, F., Lazard, D., Ollivier, F., & Petitot, M. (1995). Representation for the radical of a finitely generated differential ideal. In ISSAC’95, International Symposium on Symbolic and Algebraic Computation (pp. 158–166). Retrieved from http://hal.archives-ouvertes.fr/hal-00138020
  • Boulier, F., Lazard, D., Ollivier, F., & Petitot, M. (2009). Computing representations for radicals of finitely generated differential ideals. Applications Algebra Engrg Commission Computation, 20, 273–321.
  • Buchberger, B. (1979). A criterion for detecting unnecessary reductions in the construction of Gröbner bases, In symbolic and algebraic computation, EUROSAM’79, Internat. Symposium Marseille Lecture Notes in Computer Science, Springer, Berlin, 72, 3–21.
  • Cox, D., Little, J., & O’Shea, D. (1992). Ideals, varieties and algorithms. an introduction to computational algebraic geometry and commutative algebra, undergraduate texts in mathematics. New York, NY: Springer.
  • Harrington, H. A., & Van Gorder, R. A. (2017). Reduction of dimension for nonlinear dynamical systems. Nonlinear Dynam, 88, 715–734. doi:10.1007/s11071-016-3272-5
  • Hubert, E. (2000). Factorization free decomposition algorithms in differential algebra. Journal Symbolic Computation, 29(4–5), 641–662.
  • Hydon, P. E. (2000). Symmetry methods for differential equations. Cambridge: Cambridge University Press.
  • Jauberthie, C., Trave-Massuyes, L., & Verdiere, N. (2016). set-membership identifiaility of nonlinear models and related parameter estimation properties. International Journal Applications Mathematical Computation Sciences, 26, 2083–8492. doi:10.1515/amcs-2016-0057
  • Kolchin, E. R. (1973). Differential algebra and algebraic groups. New York, NY: Academic Press.
  • Mansfield, E. L., & Clarkson, P. A. (1997). Applications of the differential algebra package diffgrob2 to classical symmetries of differential equations. Journal Symbolic Computation, 23, 517–533. doi:10.1006/jsco.1996.0105
  • Montes, A. (2002). A new algorithm for discussing Gröbner bases with parameters. Journal Symbolic Computation, 33, 183–208. doi:10.1006/jsco.2001.0504
  • Ritt, J. F. (1950). Differential algebra. New York, NY: Dover.
  • Rosenfeld, A. (1959). Specializations in differential algebra. Transactions Amer Mathematical Social, 90, 394–407. doi:10.1090/S0002-9947-1959-0107642-2
  • Sabzevari, M., Hashemi, A., Alizadeh, B. M., & Merker, J. (2016). Lie algebras of infinitesimal CR automorphisms of weighted homogeneous and homogeneous CR-Generic submanifolds of CN. FiloMat, 30(6), 1387–1411.
  • Sit, W. Y. (2002). The Ritt-Kolchin theory for differential polynomials. In L. Guo, W. F. Keigher, P. J. Cassidy, & W. Y. Sit (Eds.), Differential algebra and related topics (pp. 1–70). World Scientific Publishing Co. Inc. Retrieved from https://doi.org/10.1142/9789812778437_0001
  • Umirbaev, U. (2016). Algorithmic problems for differential polynomial algebras. Journal Algebra, 455, 77–92. doi:10.1016/j.jalgebra.2016.02.010