diffalg
differential_ring
define a differential polynomial ring endowed with a ranking and a notation
Calling Sequence
Parameters
Description
Examples
differential_ring (derivations = D, ranking = L, field_of_constants = F, notation = N)
differential_ring (derivations = D, indeterminates = Y, leaders_of (P) = V, field_of_constants = F, notation = N)
derivations = D
-
D is a list or a set of the names of the derivation variables.
ranking = L
L is a list of sub-ranking where all the differential indeterminates Y appear.
indeterminates = Y
Y is a list or a set of symbols representing the differential indeterminates
leaders_of (P) = V
P is a list of differential polynomials, V is a list of derivatives
field_of_constants = F
(optional) F must be a ground field
notation = N
(optional) name; jet, diff, or Diff
Important: The diffalg package has been deprecated. Use the superseding package DifferentialAlgebra instead.
The differential_ring command returns a table representing the differential polynomial ring R = F(D){Y} endowed with a ranking.
If present, the field of constants F should be defined by field_extension. If omitted, it is the field of the rational numbers.
The parameter derivations = D sets the derivation variables. The order of its elements enters in the definition of the ranking of R.
The parameter ranking = L defines both the differential indeterminates of R and the ranking. Differential indeterminates must have the Maple type symbol.
The available sub-rankings are lex, grlexA, grlexB, degrevlexA, and degrevlexB.
Then L shall be given as L = [ a non-empty sequence of blocks ], where a block is either a single differential indeterminate or `a sub-ranking` (a non-empty sequence of differential indeterminates). If `a sub-ranking` is omitted, grlexA is chosen.
An elimination ranking is set between the differential indeterminates that belong to different blocks. The indeterminates that appear in the leftmost blocks are greater than the indeterminates in rightmost ones.
The derivatives of differential indeterminates that belong to the same block are ordered according to the specified sub-ranking.
The parameter notation = N sets the notation to be used in the inputs and the outputs of the functions of the diffalg package receiving R as one of their parameter.
The notation N = diff or Diff refers to the Maple diff or Diff functionalities.
The notation N = jet is a more compact notation specific to this package. It is the default notation. A derivative is entered as u[a sequence of derivation variables], where u is one of the differential indeterminates.
The function denote makes the conversions between the three notations.
The pair of parameters indeterminates = Y, leaders_of (P) = V provides an alternative way to define a ranking.
Y is a list or a set of symbols and defines the differential indeterminates of R.
The lists P and V must have the same length, say n. For each i (i = 1 .. n), V[i] must be a derivative occurring in the differential polynomial P[i]. The function associates weights to differential indeterminates and derivations so that the leader of P[i] is V[i]. The simplex algorithm is used for determining weights.
The description of the ranking defined on R can be obtained by using the command print_ranking.
The parameters of differential_ring can actually appear in any order.
The command with(diffalg,differential_ring) allows the use of the abbreviated form of this command.
For the introduction of transcendental elements (arbitrary constants) or algebraic extensions, refer to the examples in the help page of field_extension.
A ranking is chosen according to which structural properties of a system you want to exhibit. Elimination ranking, orderly ranking, and lexicographic ranking examples follow.
This first example illustrates a purely elimination ranking between two differential indeterminates u and v. Any derivative of v is greater than any derivative of u.
with⁡diffalg:
R≔differential_ring⁡derivations=x,ranking=v,u,notation=diff
R≔ODE_ring
Rank all derivatives of order less than or equal to 3 by using the derivatives command.
Ders≔v⁡x,u⁡x,seq⁡seq⁡diff⁡U⁡x,`$`⁡x,i,i=1..3,U=v,u:
derivatives⁡Ders,R,increasingly
u⁡x,ⅆⅆxu⁡x,ⅆ2ⅆx2u⁡x,ⅆ3ⅆx3u⁡x,v⁡x,ⅆⅆxv⁡x,ⅆ2ⅆx2v⁡x,ⅆ3ⅆx3v⁡x
The following example illustrates the default jet notation, and two orderly rankings.
R1≔differential_ring⁡derivations=x,y,ranking=u,v
R1≔PDE_ring
R2≔differential_ring⁡derivations=y,x,ranking=u,v
R2≔PDE_ring
denote⁡vx,y,y,diff,R1
∂3∂x∂y2v⁡x,y
Rank all derivatives of order less than or equal to 3.
n≔3:Ders≔seq⁡seq⁡seq⁡U`$`⁡x,i,`$`⁡y,j,i=0..n−j,j=0..n,U=u,v:
derivatives⁡Ders,R1,increasingly
v,u,vy,vx,uy,ux,vy,y,vx,y,vx,x,uy,y,ux,y,ux,x,vy,y,y,vx,y,y,vx,x,y,vx,x,x,uy,y,y,ux,y,y,ux,x,y,ux,x,x
derivatives⁡Ders,R2,increasingly
v,u,vx,vy,ux,uy,vx,x,vy,x,vy,y,ux,x,uy,x,uy,y,vx,x,x,vy,x,x,vy,y,x,vy,y,y,ux,x,x,uy,x,x,uy,y,x,uy,y,y
The derivatives are first ranked according to their order. You can examine how the order in which the derivation variables are given influences the ranking.
The following example illustrates a lexicographical ranking.
R≔differential_ring⁡derivations=z,y,x,ranking=lexu
R≔PDE_ring
n≔3:Ders≔seq⁡seq⁡seq⁡u`$`⁡x,i,`$`⁡y,j,`$`⁡z,k,i=0..n−k−j,j=0..n−k,k=0..n:
u,ux,ux,x,ux,x,x,uy,uy,x,uy,x,x,uy,y,uy,y,x,uy,y,y,uz,uz,x,uz,x,x,uz,y,uz,y,x,uz,y,y,uz,z,uz,z,x,uz,z,y,uz,z,z
The following example illustrates a mixed ranking and its description by using the print_ranking command.
R≔differential_ring⁡derivations=x,y,z,ranking=lexw,degrevlexBv,u
print_ranking⁡R
In lists, leftmost elements are greater than rightmost ones. The derivatives of [w] are ordered by lex: _U [tau] > _V [phi] when tau > phi for the lex. order [x, y, z] or tau = phi and _U > _V w.r.t. the list of indeterminates Any derivative of [w] is greater than any derivative of [v, u] The derivatives of [v, u] are ordered by degrevlexB: _U [tau] > _V [phi] when |tau| > |phi| or |tau| = |phi| and tau < phi w.r.t. [z, y, x] or tau = phi and _U > _V w.r.t. the list of indeterminates
Rank all derivatives of order less than or equal to 2.
n≔2:Ders≔seq⁡seq⁡seq⁡seq⁡U`$`⁡x,i,`$`⁡y,j,`$`⁡z,k,i=0..n−k−j,j=0..n−k,k=0..n,U=w,v,u:
u,v,uz,vz,uy,vy,ux,vx,uz,z,vz,z,uy,z,vy,z,ux,z,vx,z,uy,y,vy,y,ux,y,vx,y,ux,x,vx,x,w,wz,wz,z,wy,wy,z,wy,y,wx,wx,z,wx,y,wx,x
The following example illustrates the alternative set up of the ranking.
p≔ux,x+vy:
q≔vx,y+vy,y:
R≔differential_ring⁡derivations=x,y,indeterminates=u,v,leaders_of⁡p,q=vy,vx,y
In lists, leftmost elements are greater than rightmost ones. The derivatives of [u, v] are ordered by weights: Weights are [u = 0, v = 4, x = 2, y = 1] _U [tau] > _V [phi] when weight (_U [tau]) > weight (_V [phi]) or weights are equal and _U > _V w.r.t. the list of indeterminates or weights and indeterminates are equal and tau > phi for the lex. order [x, y]
Rank all derivatives of order 3 and less:
n≔3:Ders≔seq⁡seq⁡seq⁡U`$`⁡x,i,`$`⁡y,j,i=0..n−j,j=0..n,U=v,u:
u,uy,uy,y,ux,uy,y,y,ux,y,v,ux,y,y,ux,x,vy,ux,x,y,vy,y,vx,ux,x,x,vy,y,y,vx,y,vx,y,y,vx,x,vx,x,y,vx,x,x
See Also
diffalg(deprecated)
diffalg(deprecated)/differential_algebra
diffalg(deprecated)/field_extension
diffalg(deprecated)/print_ranking
diffalg(deprecated)[denote]
diffalg(deprecated)[derivatives]
DifferentialAlgebra[DifferentialRing]
Download Help Document