Get - Maple Help

DifferentialAlgebra

 Get
 returns the set of variables its argument depends on

 Calling Sequence Get(keyword, ring_or_ideal) Get(keyword, other, ring_or_ideal)

Parameters

 keyword - indicates what is to be computed. To see all the implemented keywords, enter Get() with no arguments. other - represents another argument in connection with the keywords derivatives, differentialorder, initialconditions, and notation ring_or_ideal - a differential ring or ideal as returned by DifferentialRing or RosenfeldGroebner and Tools[PretendRegularDifferentialChain]

Description

 • This command is part of the DifferentialAlgebra package. It can be called using the form Get(...) after executing the command with(DifferentialAlgebra). It can also be directly called using the form DifferentialAlgebra[Get](...).
 • The function call Get(keyword, ring_or_ideal) returns information regarding the differential ring or ideal represented by ring_or_ideal. In the case of three arguments, the call Get(keyword, other, ring_or_ideal) returns the information indicated by keyword regarding other, and 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 Get with no arguments, as in
 > DifferentialAlgebra:-Get();
 ${\mathrm{arbitrary}}{,}{\mathrm{arbitrarywithdependency}}{,}{\mathrm{attributes}}{,}{\mathrm{blocks}}{,}{\mathrm{blockswithdependency}}{,}{\mathrm{dependentvariables}}{,}{\mathrm{derivations}}{,}{\mathrm{derivatives}}{,}{\mathrm{differentialorder}}{,}{\mathrm{differentialring}}{,}{\mathrm{differentialringdata}}{,}{\mathrm{independentvariables}}{,}{\mathrm{initialconditions}}{,}{\mathrm{notation}}{,}{\mathrm{parameters}}{,}{\mathrm{ranking}}$ (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.
 • The last argument is always a differential ring constructed by DifferentialRing or an ideal constructed by RosenfeldGroebner or Tools[PretendRegularDifferentialChain].
 • 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.
 Keywords
 • arbitrary: returns an equation with the keyword arbitrary on the left-hand side, and a list on the right-hand side with the names of the arbitrary functions of the given differential ring.
 • arbitrarywithdependency: returns the same list as arbitrary but with functions instead of just their names, that is, with the dependency explicit.
 • attributes: returns a list containing some of the seven following possible keywords, which provide some precision on the regular differential chains: differential, prime, primitive, squarefree, coherent, autoreduced, normalized. See DifferentialAlgebra, Glossary for more details.
 • blocks: returns an equation with the keyword blocks on the left-hand side and a list on the right-hand side, possibly containing sublists, with the names of the dependent variables of the differential ring, representing the ranking for them. This output can be used as returned by Get in posterior calls to DifferentialRing.
 • blockswithdependency: returns the same list as blocks but with functions instead of just their names, that is, with the dependency explicitated. This output can be used as returned by Get in posterior calls to DifferentialRing.
 • dependentvariables: returns a set with the dependent variables of the problem, similar to blockswithdependency.
 • derivations: returns an equation with the keyword derivations on the left-hand side, and a list with the independent variables on the right-hand side where the order of the list also represents the ranking for these variables. This output can be used as returned by Get in posterior calls to DifferentialRing.
 • derivatives: returns a set with the derivatives of a given differential polynomial or ideal having for framework a differential ring (last argument). In the case of two arguments where the last one is a differential ring, the derivatives of order zero, that is, the dependent variables of the differential ring are returned.
 • differentialorder returns the maximal (default) or minimal differential order of a given ideal. In the case of three arguments instead of two, the second argument could be max or min to respectively indicate the maximal (default) or minimal differential order.
 • differentialring: given a differential ideal, this keyword returns the embedded differential ring.
 • differentialringdata: returns a list with all the data of a given differential ring, so that passing this data to DifferentialRing constructs a differential ring mathematically identical to the one given to Get.
 • initialconditions: If R is an ideal, Get(intialconditions, R) returns the set of the derivatives which have an order less than or equal to n and which are not the derivative of any leading derivative of R. These derivatives correspond to the arbitrary constants which occur in the formal power series solutions of the ideal R. If the ideal is a list of regular differential chains, a list of sets of derivatives is returned.
 • notation: returns the notation of a given mathematical expression having for framework a differential ring (three arguments); it also is possible to pass only an ideal (only two arguments), in which case, the notation in which the ideal is expressed is returned. The possible values for the notation of objects in context of the DifferentialAlgebra package are: jet, tjet, diff and Diff.
 • parameters: returns a list with all the dependent variables of a differential ring R that depend on fewer independent variables than those of the differential ring, that can be inspected for instance calling Get(derivations, R). This list of parameters' can be passed to DifferentialRing as well to indicate the dependency of objects entering blocks, the ranking for the dependent variables, typically passed to DifferentialRing with only the names of the dependent variables.
 • ranking: returns a sequence of two lists with the ranking for the dependent and independent variables. This is the same output obtained entering: $\mathrm{Get}\left(\mathrm{derivations},R\right),\mathrm{Get}\left(\mathrm{blocks},R\right)$.
 • rankingwithdependency: returns the same list as ranking but with the dependency of the dependent variables made explicit.
 • The output for the keywords arbitrary, arbitrarywithdependency, blocks, blockswithdependency, derivations, differentialringdata, ranking and rankingwithdependency can be used as returned by Get in posterior calls to DifferentialRing; in the same way, the output for the keyword attributes can be used in posterior calls to RosenfeldGroebner.

Examples

 > $\mathrm{with}\left(\mathrm{DifferentialAlgebra}\right):$

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 follows:

 > $R≔\mathrm{DifferentialRing}\left(\mathrm{derivations}=\left[x,y\right],\mathrm{blocks}=\left[\left[v,u\right],q\left(\right),p\left(x\right)\right],\mathrm{arbitrary}=p\right)$
 ${R}{≔}{\mathrm{differential_ring}}$ (2)

The following example illustrates the Get command with the all the keywords related to getting differential ring information. Start with the ranking that contains the most relevant piece of information: the independent and dependent variables and how are they ranked.

 > $\mathrm{Get}\left(\mathrm{ran},R\right)$
 ${\mathrm{* Partial match of \text{'}ran\text{'} against keyword \text{'}ranking\text{'}}}$
 ${\mathrm{derivations}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{blocks}}{=}\left[\left[{v}{,}{u}\right]{,}{q}{,}{p}\right]$ (3)

The following example shows all of the differential ring data.

 > $\mathrm{Get}\left(\mathrm{data},R\right)$
 ${\mathrm{* Partial match of \text{'}data\text{'} against keyword \text{'}differentialringdata\text{'}}}$
 ${\mathrm{derivations}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{blocks}}{=}\left[\left[{v}{,}{u}\right]{,}{q}{,}{p}\right]{,}{\mathrm{parameters}}{=}\left[{p}{}\left({x}\right){,}{q}\right]{,}{\mathrm{arbitrary}}{=}\left[{p}\right]$ (4)

The following example shows only the independent variables. There are two ways of getting the independent variables: the first method is useful for redefining differential rings (see the examples in DifferentialRing).

 > $\mathrm{Get}\left(\mathrm{ions},R\right)$
 ${\mathrm{* Partial match of \text{'}ions\text{'} against keyword \text{'}derivations\text{'}}}$
 ${\mathrm{derivations}}{=}\left[{x}{,}{y}\right]$ (5)
 > $\mathrm{Get}\left(\mathrm{ind},R\right)$
 ${\mathrm{* Partial match of \text{'}ind\text{'} against keyword \text{'}independentvariables\text{'}}}$
 $\left\{{x}{,}{y}\right\}$ (6)

The following example shows only the dependent variables. The first two are useful for redefining differential rings

 > $\mathrm{Get}\left(\mathrm{blocks},R\right)$
 ${\mathrm{blocks}}{=}\left[\left[{v}{,}{u}\right]{,}{q}{,}{p}\right]$ (7)
 > $\mathrm{Get}\left(\mathrm{blockswith},R\right)$
 ${\mathrm{* Partial match of \text{'}blockswith\text{'} against keyword \text{'}blockswithdependency\text{'}}}$
 ${\mathrm{blocks}}{=}\left[\left[{v}{}\left({x}{,}{y}\right){,}{u}{}\left({x}{,}{y}\right)\right]{,}{q}{}\left(\right){,}{p}{}\left({x}\right)\right]$ (8)
 > $\mathrm{Get}\left(\mathrm{dep},R\right)$
 ${\mathrm{* Partial match of \text{'}dep\text{'} against keyword \text{'}dependentvariables\text{'}}}$
 $\left\{{p}{}\left({x}\right){,}{q}{}\left(\right){,}{u}{}\left({x}{,}{y}\right){,}{v}{}\left({x}{,}{y}\right)\right\}$ (9)

The following examples show only the arbitrary equations and the parameters. This output can also be used as is for redefining differential rings.

 > $\mathrm{Get}\left(\mathrm{arbitrary},R\right)$
 ${\mathrm{arbitrary}}{=}\left[{p}\right]$ (10)
 > $\mathrm{Get}\left(\mathrm{arbitrarywith},R\right)$
 ${\mathrm{* Partial match of \text{'}arbitrarywith\text{'} against keyword \text{'}arbitrarywithdependency\text{'}}}$
 ${\mathrm{arbitrary}}{=}\left[{p}{}\left({x}\right)\right]$ (11)
 > $\mathrm{Get}\left(p,R\right)$
 ${\mathrm{* Partial match of \text{'}p\text{'} against keyword \text{'}parameters\text{'}}}$
 ${\mathrm{parameters}}{=}\left[{p}{}\left({x}\right){,}{q}\right]$ (12)

Consider the following differential equation system, and the ideal returned for it by RosenfeldGroebner using R as differential ring.

 > $\mathrm{ee}≔u\left(x,y\right)q+v\left(x,y\right)p\left(x\right):$
 > $\mathrm{sys}≔\mathrm{diff}\left(\mathrm{ee},x,y\right)\mathrm{ee},\mathrm{diff}\left({\mathrm{ee}}^{2},y,y\right)$
 ${\mathrm{sys}}{≔}\left(\left(\frac{{{\partial }}^{{2}}}{{\partial }{x}{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right)\right){}{q}{+}\left(\frac{{{\partial }}^{{2}}}{{\partial }{x}{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right)\right){}{p}{}\left({x}\right){+}\left(\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right)\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{p}{}\left({x}\right)\right)\right){}\left({u}{}\left({x}{,}{y}\right){}{q}{+}{v}{}\left({x}{,}{y}\right){}{p}{}\left({x}\right)\right){,}{2}{}{\left(\left(\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right)\right){}{q}{+}\left(\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right)\right){}{p}{}\left({x}\right)\right)}^{{2}}{+}{2}{}\left({u}{}\left({x}{,}{y}\right){}{q}{+}{v}{}\left({x}{,}{y}\right){}{p}{}\left({x}\right)\right){}\left(\left(\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right)\right){}{q}{+}\left(\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right)\right){}{p}{}\left({x}\right)\right)$ (13)
 > $\mathrm{ideal}≔\mathrm{RosenfeldGroebner}\left(\left[\mathrm{sys}\right],R\right)$
 ${\mathrm{ideal}}{≔}\left[{\mathrm{regular_differential_chain}}{,}{\mathrm{regular_differential_chain}}\right]$ (14)

Thus, this ideal has two differential chains or, in other words, there are two cases: the general and one singular. You can view information about this ideal using Get.

The following example shows the ring embedded in the ideal.

 > $\mathrm{recovered_ring}≔\mathrm{Get}\left(\mathrm{differentialring},\mathrm{ideal}\right)$
 ${\mathrm{recovered_ring}}{≔}{\mathrm{differential_ring}}$ (15)
 > $\mathrm{Get}\left(\mathrm{data},\mathrm{recovered_ring}\right)$
 ${\mathrm{* Partial match of \text{'}data\text{'} against keyword \text{'}differentialringdata\text{'}}}$
 ${\mathrm{derivations}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{blocks}}{=}\left[\left[{v}{,}{u}\right]{,}{q}{,}{p}\right]{,}{\mathrm{parameters}}{=}\left[{p}{}\left({x}\right){,}{q}\right]{,}{\mathrm{arbitrary}}{=}\left[{p}\right]$ (16)

Note the attributes of each ideal: both are prime.

 > $\mathrm{Get}\left(\mathrm{at},\mathrm{ideal}\right)$
 ${\mathrm{* Partial match of \text{'}at\text{'} against keyword \text{'}attributes\text{'}}}$
 $\left[\left[{\mathrm{differential}}{,}{\mathrm{prime}}{,}{\mathrm{autoreduced}}{,}{\mathrm{primitive}}{,}{\mathrm{squarefree}}{,}{\mathrm{coherent}}{,}{\mathrm{normalized}}\right]{,}\left[{\mathrm{differential}}{,}{\mathrm{prime}}{,}{\mathrm{autoreduced}}{,}{\mathrm{primitive}}{,}{\mathrm{squarefree}}{,}{\mathrm{coherent}}{,}{\mathrm{normalized}}\right]\right]$ (17)

This example shows the differential order of each case.

 > $\mathrm{Get}\left(\mathrm{order},\mathrm{ideal}\right)$
 ${\mathrm{* Partial match of \text{'}order\text{'} against keyword \text{'}differentialorder\text{'}}}$
 $\left[{1}{,}{2}\right]$ (18)

this example shows the derivatives in each differential chain (in each case); note that derivatives of order zero are also displayed.

 > $\mathrm{Get}\left(\mathrm{derivatives},\mathrm{ideal}\right)$
 $\left[\left\{{q}{,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}{p}{}\left({x}\right)\right\}{,}\left\{{q}{,}\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{p}{}\left({x}\right){,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}{p}{}\left({x}\right){,}{u}{}\left({x}{,}{y}\right){,}{v}{}\left({x}{,}{y}\right)\right\}\right]$ (19)

The derivatives of order zero are the dependent variables themselves and can also be obtained by passing a ring instead of an ideal.

 > $\mathrm{Get}\left(\mathrm{derivatives},R\right)$
 $\left\{{q}{,}{p}{}\left({x}\right){,}{u}{}\left({x}{,}{y}\right){,}{v}{}\left({x}{,}{y}\right)\right\}$ (20)

The following example shows the derivatives up to order 2 that will require a value as initial conditions when computing formal power series solution up to order 2.

 > $\mathrm{Get}\left(\mathrm{initial},2,\mathrm{ideal}\right)$
 ${\mathrm{* Partial match of \text{'}initial\text{'} against keyword \text{'}initialconditions\text{'}}}$
 $\left[\left\{{q}{,}\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{p}{}\left({x}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{x}{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{p}{}\left({x}\right){,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}{p}{}\left({x}\right){,}{u}{}\left({x}{,}{y}\right){,}{v}{}\left({x}{,}{y}\right)\right\}{,}\left\{{q}{,}\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{p}{}\left({x}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{x}{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{p}{}\left({x}\right){,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}\right){,}{p}{}\left({x}\right){,}{u}{}\left({x}{,}{y}\right){,}{v}{}\left({x}{,}{y}\right)\right\}\right]$ (21)

The following example shows dependent variables that involve fewer independent variables than those declared in derivations (in this example, $x,y$); in the framework of DifferentialAlgebra, these dependent variables are also called parameters.

 > $\mathrm{Get}\left(\mathrm{parameters},\mathrm{ideal}\right)$
 ${\mathrm{parameters}}{=}\left[{p}{}\left({x}\right){,}{q}\right]$ (22)

The following example shows the notation used in these differential chains.

 > $\mathrm{Get}\left(\mathrm{notation},\mathrm{ideal}\right)$
 ${\mathrm{diff}}$ (23)