DifferentialAlgebra[Is]  returns true or false to a number of queries regarding differential rings or ideals

Calling Sequence


Is(keyword, ring_or_ideal)
Is(keyword, other, ring_or_ideal)


Description


•

This command is part of the DifferentialAlgebra package. It can be called using the form Is(...) after executing the command with(DifferentialAlgebra). It can also be directly called using the form DifferentialAlgebra[Is](...)

•

The function call Is(keyword, ring_or_ideal) returns true or false to a number of queries regarding the differential ring or ideal represented by ring_or_ideal. In the case of three arguments, the call Is(keyword, other, ring_or_ideal) returns true or false regarding other, having the differential ring or ideal ring_or_ideal as a framework.

•

The keywords implemented can be seen directly in the Maple worksheet/document by calling Is with no arguments, as in

>

DifferentialAlgebra:Is();

 (1) 
•

When the keyword is misspelled or just a portion of it is passed, a match is performed against the existing keywords, and when there is only one match, a warning message is displayed on the screen and the computation proceeds taking that match as the desired keyword; otherwise the possible multiple matches are presented in an error message.

•

Because differential rings used to compute differential ideals are embedded in the differential ideals, in all the cases where a differential ring is expected it is possible to pass a differential ideal instead and the embedded differential ring will be used.

•

NOTE: for all the keywords below, when a differential ring is expected as last argument, it is also possible to pass a differential ideal, in which case the embedded differential ring will be used.

•

arbitrary, dependentvariable and independentvariable: Returns true if other is a variable of the corresponding type in the differential ring passed.

•

autoreduced, coherent, differential, normalized, prime, primitive, squarefree: these all are possible attributes of a differential ideal, so Is returns true when the ideal passed has the corresponding attribute indicated as the first argument keyword. When the ideal is a list of differential chains, Is returns true only if all the differential chains (each one viewed as a single ideal) has the queried property.

•

derivative: returns true if other is the derivative of a dependent variable of the differential ring passed.

•

differentialring, ideal and regulardifferentialchain: correspondingly returns true if ring_or_ideal is a differential ring, a differential ideal or a regular differential chain.

•

orthonomic: returns true if the ideal is orthonomic in the generalized sense; that is, a prime ideal where all the differential chains have degree 1 in their leading derivatives. By passing the option definition = strict, an ideal is considered orthonomic if in addition the initials of its elements belong to the base field of the equations.

•

reduced: returns true if a differential polynomial or a list of them, is fully reduced with respect to each element another list of differential polynomials whose elements must depend on at least one derivative and have integer coefficients. All the differential polynomials involved are regarded as elements of the differential ring. The reduction is respectively full, partial or algebraic when , the differential polynomial, satisfies the following:

–

partial: for each leading derivative, of the differential chain no proper derivative of v occurs in .


By optionally passing reduction = ... where the lefthandside is any of these three keywords, the corresponding test is performed.


In addition, Is handles boolean queries involving any of the operators and, or, xor, satisfies and not, as well as the corresponding boolean functions And, Or, Xor, Satisfies and Not, for example is in Is(normalized and orthonomic, ideal).



Examples


>


Consider the following differential ring, where the dependent variables are {p(x), q, u(x, y), v(x, y)}. As explained in DifferentialRing when entering the dependent variables, the dependency can optionally be indicated at the same time and it is necessary only for functions that do not depend on derivations, so you enter it as
>


 (2) 
The following illustrates the Is command with the all the keywords related to differential rings
>


 (3) 
>


 (4) 
Note that is a dependent variable of this differential ring even when its derivatives with respect to all the independent variables of the rings is zero
>


 (5) 
In the same line, arbitrary variables are considered dependent variables of the differential ring in that they cannot appear as dependency of the dependent variables (i.e., are never independent variables).
>


 (6) 
>


 (7) 
>


 (8) 
>


 (9) 
>


 (10) 
Consider now the ideal returned by RosenfeldGroebner for the following differential ring and equation
>


 (11) 
>


 (12) 
So this problem splits into two cases (two differential chains in the ideal); not both cases are prime, therefore the ideal is not prime
>


 (13) 
To see the details use map2 or map[2]
>


 (14) 
The first case is normalized
>


 (15) 
Handling boolean queries, from the output above it follows that
>


 (16) 
>


 (17) 
The second case is not only prime but also orthonomic
>


 (18) 
With regards to this ideal, the following differential polynomials, entered here in jet notation to make it simpler, are not all reduced
>


 (19) 
>


 (20) 
In details, regarding each case of this ideal, we have that
>


 (21) 
>


 (22) 
The following input tells which of the differential polynomials of the first list is reduced with respect to the differential polynomials of the second list, having for framework the differential ring R
>


 (23) 
>


 (24) 

