Alternative Computations with Rosenfeld_Groebner
Description
Examples
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.
with⁡diffalg:
_Env_diffalg_uses_DifferentialAlgebra≔false
_Env_diffalg_char:
A regular differential system might have no zero. The corresponding components disappear when computing the characteristic decomposition.
R≔differential_ring⁡ranking=v,u,p,q,w,r,derivations=y,x:
S≔ux−uy⁢vx,x−q,ux−uy⁢vx−p,ux2−w,uy2+w
_Env_diffalg_char≔false:RegularDecomp≔Rosenfeld_Groebner⁡S,R
RegularDecomp≔regular,regular,regular,regular,regular,regular,regular
_Env_diffalg_char≔true:CharacteristicDecomp≔Rosenfeld_Groebner⁡S,R
CharacteristicDecomp≔characterizable,characterizable,characterizable
Some regular components can split into several characterizable components.
R≔differential_ring⁡ranking=y,x,p,derivations=t:
S≔1+x2+2⁢x⁢y2−1+x2−2⁢x,x+1⁢y+x−1,p2−1,x2−p
S≔x+1⁢y+x−1,x2+2⁢x+1⁢y2−x2+2⁢x−1,p2−1,x2−p
RegularDecomp≔regular
CharacteristicDecomp≔characterizable,characterizable
rewrite_rules⁡RegularDecomp
y=−x−1x+1,x2=p,p2=1
rewrite_rules⁡CharacteristicDecomp
y=−x+p2+12,x=1,p=1,y=−x+p2+12,x2=p,p=−1
The degree in the leaders can decrease.
R≔differential_ring⁡ranking=y,x,derivations=t:
S≔yt2+yt⁢y−x⁢yt+t⁢x⁢yt,y−x+xt;H≔xt,t,t−xt
S≔t⁢x⁢yt−x⁢yt+yt⁢y+yt2,y−x+xt
H≔xt,t,t−xt
_Env_diffalg_char≔false:RegularDecomp≔Rosenfeld_Groebner⁡S,H,R
_Env_diffalg_char≔true:CharacteristicDecomp≔Rosenfeld_Groebner⁡S,H,R
CharacteristicDecomp≔characterizable
y=x−xt,xt,t2=−t⁢x⁢xt+t⁢x⁢xt,t+xt⁢xt,t
y=x−xt,xt,t=t⁢x
_Env_diffalg_charpres_method:
_Env_diffalg_charpres_method≔regchar
R≔differential_ring⁡derivations=x,ranking=u1,u2,u3,u4,u5
R≔ODE_ring
p1≔u2⁢u3+u4+u2⁢u12+u2⁢u3+3⁢u1+1
p1≔u2⁢u3+u2+u4⁢u12+u2⁢u3+3⁢u1+1
p2≔1+u4+u5⁢u32+u3⁢u52+u4+2+u5+2
Rosenfeld_Groebner⁡p1,p2,R
characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable,characterizable
The previous example does not succeed using _Env_diffalg_charpres_method := 'groebner'.
R≔differential_ring⁡ranking=u,v,derivations=x,y
R≔PDE_ring
sys≔ux,x⁢vy+v+1+uy,v⁢vy5−2⁢v
_Env_diffalg_charpres_normalize≔true
equations⁡Rosenfeld_Groebner⁡sys,R
uy+ux,x,v,ux,x⁢v5+uy⁢v4−uy⁢v3⁢vy+uy⁢v2⁢vy2−uy⁢v⁢vy3+uy⁢vy4+5⁢ux,x⁢v4+4⁢uy⁢v3−3⁢uy⁢v2⁢vy+2⁢uy⁢v⁢vy2−uy⁢vy3+10⁢ux,x⁢v3+6⁢uy⁢v2−3⁢uy⁢v⁢vy+uy⁢vy2+10⁢ux,x⁢v2+4⁢uy⁢v−uy⁢vy+5⁢ux,x⁢v+uy+3⁢ux,x,vy5−2
_Env_diffalg_charpres_normalize≔false
uy+ux,x,v,ux,x⁢v+ux,x⁢vy+uy+ux,x,vy5−2
_Env_diffalg_primestudy:
R0≔differential_ring⁡ranking=y,x,p,derivations=t:
S≔x⁢yt+xt+1,xt2+y+p;H≔x,xt
S≔xt2+p+y,x⁢yt+xt+1
H≔x,xt
C0≔Rosenfeld_Groebner⁡S,H,R0
C0≔characterizable
equations⁡C01
x⁢yt+xt+1,xt2+p+y
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_ring⁡ranking=x,y,p,derivations=t:
_Env_diffalg_prime_study≔true:C2≔Rosenfeld_Groebner⁡S,H,R,C01
C2≔characterizable
_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_ring⁡ranking=λ,x,y,derivations=t:
Pendulum≔yt,t+λ⁢y+9,xt,t+λ⁢x,x2+y2−1
Pendulum≔λ⁢y+yt,t+9,λ⁢x+xt,t,x2+y2−1
_Env_diffalg_split≔false:Cg≔Rosenfeld_Groebner⁡Pendulum,R;rewrite_rules⁡Cg
Cg≔characterizable
λ=−9⁢y3+yt2−9⁢yy2−1,yt,t=9⁢y4+y⁢yt2−18⁢y2+9y2−1,x2=−y2+1
_Env_diffalg_split≔true:C≔Rosenfeld_Groebner⁡Pendulum,R;rewrite_rules⁡C
C≔characterizable,characterizable
λ=−9⁢y3+yt2−9⁢yy2−1,yt,t=9⁢y4+y⁢yt2−18⁢y2+9y2−1,x2=−y2+1,λ=−9y,x=0,y2=1
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.
S≔xt+1⁢yt2+xt−1,xt2−1
_Env_diffalg_split≔false:Rosenfeld_Groebner⁡S,R
_Env_diffalg_split≔true:Rosenfeld_Groebner⁡S,R;rewrite_rules⁡
characterizable
See Also
diffalg(deprecated)
diffalg(deprecated)/differential_algebra
diffalg(deprecated)[differential_ring]
diffalg(deprecated)[is_orthonomic]
diffalg(deprecated)[Rosenfeld_Groebner]
Download Help Document