diffalg(deprecated)/Rosenfeld_Groebner_options - Help

Online Help

All Products    Maple    MapleSim


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

Alternative Computations with Rosenfeld_Groebner

Description

  

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

  

A number of environment variables can be set to modify the computations made by Rosenfeld_Groebner.

• 

_Env_diffalg_gen_order

  

The input differential polynomials to Rosenfeld_Groebner are treated in sequence. By default they are treated by increasing rank. Setting _Env_diffalg_gen_order := 'decreasingly' might change the computation time as well as the characteristic decomposition in the output.

  

To return to the default behavior, use _Env_diffalg_gen_order := 'increasingly'.

• 

_Env_diffalg_char

  

Rosenfeld_Groebner proceeds in two fundamental steps. It first computes a decomposition into regular differential ideals. The second step consists of computing a decomposition into characterizable differential ideals of these regular differential ideals. The default output is  therefore a characteristic decomposition of the radical differential ideal generated by the input differential polynomials.

  

Though it is rarely  the bottleneck of the algorithm, you might want to compute only the decomposition into regular differential ideals. This can be achieved by setting _Env_diffalg_char := false. The default is true.

  

Regular differential ideals are represented in the same way as characterizable differential ideals. They are tables and appear as regular. The regular differential systems of equations and inequations defining them can be accessed by using the commands equations and inequations. Unlike characterizable differential ideals, the inequations can contain differential polynomials that are unrelated to the initials and separants of the equations.

• 

_Env_diffalg_charpres_method

  

This option allows to choose between two different methods to compute a decomposition into characterizable differential ideals from the regular differential ideals.

  

By setting _Env_diffalg_charpres_method:='groebner', the final decomposition is processed using Groebner basis computations. By setting _Env_diffalg_charpres_method:='regchar', the final decomposition is processed using algebraic triangular technics. It might happen that one method succeeds whereas the other does not (see example below).

  

The default is _Env_diffalg_charpres_method:='groebner'.

• 

_Env_diffalg_charpres_normalize

  

This option works together with the option _Env_diffalg_charpres_method.  If you use _Env_diffalg_charpres_method:='regchar', you can choose to compute normalized or non-normalized characterizable differential ideals. A normalized characterizable differential ideal satisfies the property : the initials of its equations are free of leaders. A non-normalized characterizable differential ideal does not satisfy this property. Setting _Env_diffalg_charpres_normalize:=true produces normalized outputs and _Env_diffalg_charpres_normalize:=false produces non-normalized ones.

  

The size of the output can be smaller by computing non-normalized characterizable differential ideals (see example below).

  

The default is _Env_diffalg_charpres_normalize:=true.

• 

_Env_diffalg_primestudy

  

This environment variable affects the computation if Rosenfeld_Groebner is called with a fourth parameter that is a characteristic decomposition, with respect to another ranking, of the radical ideal to be treated. If this characteristic decomposition  consists of a single characterizable differential ideal that you know is prime, setting _Env_diffalg_primestudy := true takes advantage of this knowledge.

  

If the characterizable differential ideal passes the is_orthonomic test, it is not necessary to set _Env_diffalg_primestudy.

  

The default is _Env_diffalg_primestudy := false.

• 

_Env_diffalg_split

  

Setting _Env_diffalg_split := false eliminates the branching on the initials and separants at each step. The computation seeks what is deduced to be the most general component. This saves computations. Nonetheless, the result might be misleading. The computation is indeed incomplete and does not provide a characteristic decomposition. The result may lead you to infer that there is no common zero to the input differential polynomials when there is one in fact.

Examples

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

withdiffalg:

_Env_diffalg_uses_DifferentialAlgebra:=false

_Env_diffalg_uses_DifferentialAlgebra:=false

(1)

_Env_diffalg_char:

A regular differential system might have no zero. The corresponding components disappear when computing the characteristic decomposition.

R:=differential_ringranking=v,u,p,q,w,r,derivations=y,x:

S:=uxuyvx,xq[],uxuyvxp[],ux2w[],uy2+w[]

S:=uxuyvx,xq[],uxuyvxp[],ux2w[],uy2+w[]

(2)

_Env_diffalg_char:=false:RegularDecomp:=Rosenfeld_GroebnerS,R

RegularDecomp:=regular,regular,regular,regular,regular,regular,regular

(3)

_Env_diffalg_char:=true:CharacteristicDecomp:=Rosenfeld_GroebnerS,R

CharacteristicDecomp:=characterizable,characterizable,characterizable

(4)

Some regular components can split into several characterizable components.

R:=differential_ringranking=y,x,p,derivations=t:

S:=p[]21,x[]2p[],x[]+1y[]+x[]1,1+x[]2+2x[]y[]21+x[]22x[]

S:=x[]+1y[]+x[]1,x[]2+2x[]+1y[]2x[]2+2x[]1,p[]21,x[]2p[]

(5)

_Env_diffalg_char:=false:RegularDecomp:=Rosenfeld_GroebnerS,R

RegularDecomp:=regular

(6)

_Env_diffalg_char:=true:CharacteristicDecomp:=Rosenfeld_GroebnerS,R

CharacteristicDecomp:=characterizable,characterizable

(7)

rewrite_rulesRegularDecomp

y[]=x[]1x[]+1,x[]2=p[],p[]2=1

(8)

rewrite_rulesCharacteristicDecomp

y[]=x[]+12p[]+12,x[]=1,p[]=1,y[]=x[]+12p[]+12,x[]2=p[],p[]=1

(9)

The degree in the leaders can decrease.

R:=differential_ringranking=y,x,derivations=t:

S:=yt2+yty[]x[]yt+tx[]yt,y[]x[]+xt;H:=xt,t,txt

S:=tx[]ytx[]yt+y[]yt+yt2,y[]x[]+xt

H:=xt,t,txt

(10)

_Env_diffalg_char:=false:RegularDecomp:=Rosenfeld_GroebnerS,H,R

RegularDecomp:=regular

(11)

_Env_diffalg_char:=true:CharacteristicDecomp:=Rosenfeld_GroebnerS,H,R

CharacteristicDecomp:=characterizable

(12)

rewrite_rulesRegularDecomp

y[]=x[]xt,xt,t2=tx[]xt+tx[]xt,t+xtxt,t

(13)

rewrite_rulesCharacteristicDecomp

y[]=x[]xt,xt,t=tx[]

(14)

_Env_diffalg_charpres_method:

_Env_diffalg_charpres_method:='regchar'

_Env_diffalg_charpres_method:=regchar

(15)

R:=differential_ringderivations=x,ranking=u1,u2,u3,u4,u5

R:=ODE_ring

(16)

p1:=u2[]u3[]+u4[]+u2[]u1[]2+u2[]u3[]+3u1[]+1

p1:=u2[]u3[]+u2[]+u4[]u1[]2+u2[]u3[]+3u1[]+1

(17)

p2:=1+u4[]+u5[]u3[]2+u3[]u5[]2+u4[]+2+u5[]+2

p2:=1+u4[]+u5[]u3[]2+u3[]u5[]2+u4[]+2+u5[]+2

(18)

Rosenfeld_Groebnerp1,p2,R

characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable

(19)

The previous example does not succeed using _Env_diffalg_charpres_method := 'groebner'.

_Env_diffalg_charpres_normalize

_Env_diffalg_charpres_method:='regchar'

_Env_diffalg_charpres_method:=regchar

(20)

R:=differential_ringranking=u,v,derivations=x,y

R:=PDE_ring

(21)

sys:=ux,xvy+v[]+1+uy,v[]vy52v[]

sys:=ux,xvy+v[]+1+uy,v[]vy52v[]

(22)

_Env_diffalg_charpres_normalize:=true

_Env_diffalg_charpres_normalize:=true

(23)

equationsRosenfeld_Groebnersys,R

uy+ux,x,v[],ux,xv[]5+uyv[]4uyv[]3vy+uyv[]2vy2uyv[]vy3+uyvy4+5ux,xv[]4+4uyv[]33uyv[]2vy+2uyv[]vy2uyvy3+10ux,xv[]3+6uyv[]23uyv[]vy+uyvy2+10ux,xv[]2+4uyv[]uyvy+5ux,xv[]+uy+3ux,x,vy52

(24)

_Env_diffalg_charpres_normalize:=false

_Env_diffalg_charpres_normalize:=false

(25)

equationsRosenfeld_Groebnersys,R

uy+ux,x,v[],ux,xv[]+ux,xvy+uy+ux,x,vy52

(26)

_Env_diffalg_primestudy:

R0:=differential_ringranking=y,x,p,derivations=t:

S:=xt2+y[]+p[],x[]yt+xt+1;H:=xt,x[]

S:=xt2+p[]+y[],x[]yt+xt+1

H:=x[],xt

(27)

C0:=Rosenfeld_GroebnerS,H,R0

C0:=characterizable

(28)

equationsC01

x[]yt+xt+1,xt2+p[]+y[]

(29)

This characteristic set is irreducible (the lowest ranked differential polynomial is irreducible and the others have degree one in their leaders). Therefore, the characterizable differential ideal it defines is prime. Thus, the radical differential ideal represented by S:H is prime. Whatever the ranking, there is a characteristic decomposition of  S:H that contains only one component. Unfortunately a straightforward computation induces some redundant components. They can be eliminated by introducing C0 as a fourth argument to Rosenfeld_Groebner. Setting _Env_diffalg_primestudy:=true can be a good idea to avoid some computations.

R:=differential_ringranking=x,y,p,derivations=t:

_Env_diffalg_prime_study:=true:C2:=Rosenfeld_GroebnerS,H,R,C01

C2:=characterizable

(30)

_Env_diffalg_split:

By setting _Env_diffalg_split:= false, one  expects to find the most general component. This works in the following example.

R:=differential_ringranking=λ,x,y,derivations=t:

Pendulum:=yt,t+λ[]y[]+9,xt,t+λ[]x[],x[]2+y[]21

Pendulum:=λ[]y[]+yt,t+9,λ[]x[]+xt,t,x[]2+y[]21

(31)

_Env_diffalg_split:=false:Cg:=Rosenfeld_GroebnerPendulum,R;rewrite_rulesCg

Cg:=characterizable

λ[]=9y[]3+yt29y[]y[]21,yt,t=9y[]4+y[]yt218y[]2+9y[]21,x[]2=y[]2+1

(32)

_Env_diffalg_split:=true:C:=Rosenfeld_GroebnerPendulum,R;rewrite_rulesC

C:=characterizable,characterizable

λ[]=9y[]3+yt29y[]y[]21,yt,t=9y[]4+y[]yt218y[]2+9y[]21,x[]2=y[]2+1,λ[]=9y[],x[]=0,y[]2=1

(33)

Nonetheless, setting _Env_diffalg_split to false can lead to misleading results. It might return no component while the input differential polynomials may have a common zero.

R:=differential_ringranking=y,x,derivations=t:

S:=xt+1yt2+xt1,xt21

S:=xt+1yt2+xt1,xt21

(34)

_Env_diffalg_split:=false:Rosenfeld_GroebnerS,R

(35)

_Env_diffalg_split:=true:Rosenfeld_GroebnerS,R;rewrite_rules

characterizable

(36)

See Also

diffalg(deprecated), diffalg(deprecated)/differential_algebra, diffalg(deprecated)[differential_ring], diffalg(deprecated)[is_orthonomic], diffalg(deprecated)[Rosenfeld_Groebner]


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam