convert/ODE - convert ODEs to other ODEs of different type
|
Calling Sequence
|
|
convert(ODE, TYPE, y(x), keep, simplifier = ...)
convert(ODE, y_x, implicit)
|
|
Parameters
|
|
ODE
|
-
|
ODE (ordinary differential equation)
|
TYPE
|
-
|
one of: y_x, Riccati, linearODE, NormalForm, Abel, Abel_RNF, FirstKind, SecondKind, DESol, MobiusX, MobiusY, and MobiusR
|
y(x)
|
-
|
dependent variable of the ODE; required only if ODE contains more than one function that is differentiated
|
keep
|
-
|
(optional); specify that the returned ODE contain the same independent and dependent variables as the given ODE
|
simplifier = ...
|
-
|
(optional); specifies a simplifier to be used instead of the default; two shortcuts are available: parfrac and size
|
implicit
|
-
|
avoid the automatic isolation of the highest derivative; valid only if the TYPE parameter has the value
|
|
|
|
|
Description
|
|
•
|
The convert ODE routines provide conversion schemes for ordinary differential equations (ODEs) that are frequently used in the literature, or that may be useful for other reasons. As a convention, results are returned as a sequence of two elements: the resulting ODE and the transformation of variables used to obtain it (see the examples below).
|
•
|
The conversion schemes available are:
|
1.
|
y_x - interchanges the roles between the dependent and independent variable;
|
2.
|
NormalForm - rewrites in Normal form linear ODEs (any order) as well as first order Riccati and Abel type ODEs;
|
3.
|
Riccati - converts a second order linear ODE to a first order one of Riccati type;
|
4.
|
linearODE - converts a first order Riccati type ODE to a second order linear one;
|
5.
|
Abel - converts a first order nonlinear ODE to an equivalent Abel ODE when that is possible using some transformations;
|
6.
|
Abel_RNF - rewrites an Abel type first order ODE in Rational Normal Form;
|
7.
|
FirstKind - rewrites Second Kind Abel ODEs in First Kind form;
|
8.
|
SecondKind - rewrites First Kind Abel ODEs in Second Kind form;
|
9.
|
MobiusX - converts an arbitrary ODE applying to it a Mobius transformation of the independent variable- say ;
|
10.
|
MobiusY - converts an arbitrary ODE applying to it a Mobius transformation of the dependent variable- say ;
|
11.
|
MobiusR - converts a second order linear ODE into another one by sequentially applying three transformations: Riccati, MobiusY, and linearODE;
|
12.
|
DESol - rewrites as a DESol the derivative of a DESol.
|
|
Regarding the conversion to Rational Normal Form of Abel ODEs, note that the returned ODE has rational coefficients if and only if the invariants of the given Abel ODE are rational in the independent variable. For a more powerful approach towards rational coefficients see also DEtools[power_equivalent].
|
|
|
Examples
|
|
|
1. Interchanging the roles between the dependent and independent variables of an ODE
|
|
|
followed by renaming the variables . This conversion operation can in many situations transform an otherwise difficult problem into an easy one and vice versa. For instance, this nasty Abel type ODE in
|
>
|
|
| (1) |
|
where the 8 coefficients are basically arbitrary constants, transforms into this simple and straightforwardly solvable first order linear ODE in
|
>
|
|
| (2) |
>
|
|
| (3) |
|
The conversion can be applied to non-differential expressions as well, in which case it requires an indication of the (current) dependent variable as extra argument.
|
>
|
|
| (4) |
|
The above is the solution - in implicit form - to the original Abel ODE. Isolating the integration constant, this result is testable as a first integral form of solution (see DEtools[firint]) using DEtools[firtest] or odetest:
|
>
|
|
| (5) |
|
This conversion can be applied to arbitrary ODEs. For instance, this second order nonlinear ODE in
|
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
| (9) |
|
Using the 'implicit' option, you avoid the isolation of the highest derivative in the output.
|
>
|
|
| (10) |
|
|
2. Rewriting ODEs in normal form
|
|
|
This conversion is currently applicable to linear homogeneous ODEs of arbitrary differential order and to first order nonlinear ODEs of Riccati and Abel type.
|
|
By definition, a nth order linear ODE is in normal form when the coefficient of the nth-1 derivative is zero.
|
>
|
|
| (11) |
>
|
|
| (12) |
>
|
|
| (13) |
|
In above, when using the keep optional argument, the returned ODE is expressed using the same variables (here ) of the given ODE. When the linear ODE is in normal form it is invariant under arbitrary linear transformations of the dependent variable
|
|
where is an arbitrary function of its argument.
|
|
This other ODE is already in normal form:
|
>
|
|
| (14) |
|
Hence, the second element in the following output sequence is the scaling transformation, where _C1 can have any value different from zero:
|
>
|
|
| (15) |
|
In some cases, however, it is possible to search for a transformation to Normal form such that, in addition, the coefficients are rational. For that purpose, try the more general DEtools[power_equivalent] command, which explores more elaborated transformations.
|
>
|
|
| (16) |
>
|
|
| (17) |
>
|
|
| (18) |
|
The normal form of an Abel type ODE is defined in an analogous manner, , but in the Abel case this form cannot be achieved without computing integrals and finding inverses of potentially non-trivial algebraic expressions. For instance, for the general case:
|
>
|
|
| (19) |
>
|
|
| (20) |
|
In all cases (linear, Riccati and Abel ODEs) the coefficients of and its derivatives are absolute invariants with respect to the equivalence transformations defining the ODE class. These transformations, for ODEs polynomial in the unknown and its derivatives, are always of the form
|
|
where are arbitrary functions of their arguments (for linear homogeneous ODEs, ).
|
|
|
3. and 4. Converting linear second order ODEs into Riccati ones and vice versa
|
|
|
The general form of a second order linear homogeneous ODE is
|
>
|
|
| (21) |
|
This type of ODE is invariant under scale transformations of the dependent variable
|
|
where _C1 is an arbitrary constant. Due to the presence of this symmetry (the infinitesimals are , see DEtools[transinv]), you can always reduce the differential order of linear ODEs by one. In the second order case this reduction leads to a first order Riccati type ODE. A sequence with this Riccati ODE and the change of variables performed to obtain it are given by the following:
|
>
|
|
| (22) |
|
The transformation equation can also be seen as the solution to the original second order linear ODE, provided that you can solve the reduced Riccati for _a(x).
|
>
|
|
| (23) |
|
In above we are indicating the dependent variable as a third argument; this is required when the given ODE contains more than one function being differentiated.
|
|
Depending on the specific linear ODE or Riccati ODE you are working with, these conversion routines, along with the ability to adjust the values of an arbitrary function, may help you find solutions to problems not directly solved by dsolve.
|
|
|
5. Convert to an equivalent Abel type ODE
|
|
|
Some first order nonlinear equations frequently appearing when solving autonomous first order ODE systems in two variables can be mapped into Abel equations. The transformation used to go from the Abel equivalent equation in - say - to the given equation in - say - is the second operand in the output:
|
>
|
|
| (24) |
>
|
|
| (25) |
>
|
|
| (26) |
|
The more general first order equation which can be mapped into an Abel equation by these routines is
|
>
|
|
| (27) |
>
|
|
| (28) |
|
|
6. Rational Normal Form for Abel type ODEs
|
|
>
|
|
| (29) |
|
the conversion to RNF does not imply on rational coefficients:
|
>
|
|
| (30) |
|
In some cases, for example, this one, a truly rational coefficients ODE in RNF form can be obtained using the more powerful DEtools[power_equivalent] command, which explores more elaborated transformations
|
>
|
|
| (31) |
|
|
7. and 8. Converting Abel ODEs from First kind format into Second kind format and vice versa
|
|
>
|
|
| (32) |
>
|
|
| (33) |
>
|
|
| (34) |
|
|
9. Converting ODEs applying MobiusX transformations of the independent variable
|
|
|
A second order linear ODE with constant coefficients:
|
>
|
|
| (35) |
|
In the following result, you see the transformed ODE in and the Mobius transformation of the independent variable, , used
|
>
|
|
| (36) |
|
All the arguments after MobiusX are optional. If the Mobius parameters are not specified, a transformation of that type is built with global variables .
|
|
Mobius transformations of the independent variable move the location of the poles (singularities) of the equation. In this example, the original singularity is irregular at infinity while the one of the transformed ODE resulted moved to :
|
>
|
|
| (37) |
>
|
|
| (38) |
|
Among useful functionality now available for these convert,ODEs mappings, there is the option to specify a simplifier to be used instead of the default one. For example, this specifies a MobiusX transformation of the form and requests the coefficients of and its derivatives to be in partial fraction decomposition form:
|
>
|
|
| (39) |
|
When you know the output will not be simplifiable, or just want to get it faster with no simplification costs, use the optional argument simplifier = NONE.
|
|
|
10. Converting ODEs applying MobiusY transformations of the dependent variable
|
|
|
Mobius transformations of the dependent variable - in this example - have the property of transforming a linear equation into nonlinear but leaving invariant (in form) the corresponding Riccati equation. To request the coefficients be simplified in size pass the optional argument simplifier = (u -> simplify(u,size)) or the shortcut keyword size as in
|
>
|
|
| (40) |
|
The keywords parfrac and size are specially available due to these being the most common situations; these or any other simplification can be requested using, for example, simplifier = (u -> any_procedure(u)).
|
|
Check the action of this transformation in the corresponding Riccati equation:
|
>
|
|
| (41) |
>
|
|
| (42) |
|
So the transformation uses four arbitrary functions of , the resulting equation is still of Riccati type
|
>
|
|
| (43) |
|
In fact MobiusY transformations define the Riccati class: through these transformations, any Riccati equation can be obtained from any other one.
|
|
|
11. Converting second order linear ODEs applying the composition of transformations Riccati, MobiusY, and linearODE
|
|
|
These non-local transformations (have an integral with derivatives of the dependent variable in the integrand) have the ability of generating the whole second order linear ODE from any given one, and for particular cases of the transformation parameters result in equations with remarkable properties. Consider an arbitrary second order linear ODE
|
>
|
|
| (44) |
|
Applying MobiusR, we obtain
|
>
|
|
| (45) |
|
Applying to this result MobiusR again you reobtain the original equation
|
>
|
|
| (46) |
|
In other words, this particular non-local transformation has itself for inverse. Another important property: Depending on the equation, MobiusR transformations add a so-called false singularity (the singularity actually exists but the power series solution does not require a logarithmic term). For example, take for coefficients
|
>
|
|
| (47) |
|
Inserting these values into the generic linear ode we obtain one with one irregular singularity at infinity - so the equation admits 0F1 hypergeometric solutions:
|
>
|
|
| (48) |
>
|
|
| (49) |
>
|
|
| (50) |
|
If we now insert these values of into the MobiusR transformed ODE for , the result is an ODE with one regular (so-called false) and one irregular singularities; thus the equation belongs to the Heun biconfluent class:
|
>
|
|
| (51) |
>
|
|
| (52) |
>
|
|
| (53) |
|
And because this singularity is false the solution to the ODE in can also be expressed as a linear combination of hypergeometric functions and its derivatives:
|
>
|
|
| (54) |
|
By entering before executing this sequence of inputs, you obtain detailed information regarding these processes, all running in background inside dsolve's subroutines.
|
|
|
12. Converting the derivative of a "DESol" structure into a DESol itself
|
|
|
Consider an arbitrary second order linear ODE
|
>
|
|
| (55) |
|
and the abstract representation for its solution (see DESol)
|
>
|
|
| (56) |
|
If we differentiate sol, the result is returned as an uncomputed derivative
|
>
|
|
| (57) |
|
But the derivative of the solution of an nth order linear ODE also satisfies an nth order linear ODE. Hence, it is possible to rewrite this derivative above as a DESol itself, whose contents is also a second order ODE:
|
>
|
|
| (58) |
|
Depending on the situation, this rewriting is convenient. For example, it is of use to study the solutions of an ODE for y which we do not know how to solve by studying the solutions of the ODE satisfied by y' which we may know how to solve, or to study the properties of the function y' by studying the properties of the differential equation it satisfies,
|
>
|
|
| (59) |
|
These conversions to DESol can be performed with linear ODEs of arbitrary order.
|
|
|
|