computes an equivalent ODE with invariants with minimal degrees with respect to power transformations
computes an equivalent ODE with invariants with minimal degrees with respect to rational transformations
power_equivalent(ODE, y(x), u(t), keep)
rational_equivalent(ODE, y(x), u(t), keep)
linear ODE of any differential order or a first order nonlinear ODE of Abel or Riccati type
dependent variable of the ODE; required only if the given ODE contains more than one function that is differentiated
(optional); specify new variables t,u⁡t used in the returned rational ODE
(optional); specify that the variables used in the returned rational ODE be those of the given ODE.
The power_equivalent and rational_equivalent commands return an ODE (equivalent to the given ODE), with rational coefficients, and the transformation that maps the returned ODE back to the given ODE. The returned ODE has some additional relevant features.
It is in normal form.
All its invariants are rational.
The degree of each invariant with respect to the independent variable is the lowest one achievable using power (power_equivalent) or rational (rational_equivalent) transformations.
The use of a NormalForm where in addition item 3 holds makes it possible to solve equivalence problems under compositions of Mobius and power transformations between a given ODE and ODEs admitting, for instance, hypergeometric solutions (see dsolve/hyper3).
The transformation used to compute the equivalent ODE composes arbitrary powers (for power_equivalent) or rational functions (for rational_equivalent) of the independent variable with the most general linear transformation of the dependent variable, so they are of the form x=ta,y⁡x=P⁡t⁢u⁡t+Q⁡t. In the case of linear homogeneous ODEs, Q=0. In terms of linear ODEs, the rational_equivalent command only handles those with order > 2. The transformations preserve the polynomial degree, the linear or nonlinear type and the homogeneous character in the case of linear equations. For example, second order linear equations are mapped into equations of the same type, the same way as Abel or Riccati type nonlinear equations are mapped into equations of the same type.
By comparing the transformations used by power_equivalent and rational_equivalent with the general transformation x=F⁡t,y⁡x=P⁡t⁢u⁡t+Q⁡t which defines the equivalence class associated to any polynomial ODE (linear or not), you can see that the restrictions imposed by power_equivalent and rational_equivalent respectively consist of taking F⁡t=ta and F(t)=rational function of t. Due to these restrictions, for some given ODE, the equivalence with a rational coefficients ODE may not exist. However, if in the given ODE, when written in normal form (see convert/NormalForm), all the nonrational objects are either fractional or abstract powers of the independent variable, then the equivalence problem has a solution, which the power_equivalent command should find. Caveat: Despite the theory behind the algorithm, in the case of abstract powers, the success relies on the ability of the simplification routines to rewrite these powers in a normal form. (This may be a difficult problem; see evala/Normal.)
When the equivalence does not exist power_equivalent and rational_equivalent return NULL. Otherwise, the output sequence consists of a rational ODE and the transformation mapping it into the given ODE. New variables of global type are introduced in the result.
Optionally, you can specify that new dependent u⁡t and independent t variables be used in the output by including the option u⁡t in the calling sequence.
By using the keep option, you specify that the returned rational ODE should be expressed using the original variables x,y⁡x. In that case, the returned transformation maps the returned rational ODE into the given ODE expressed using the new variables t,u⁡t.
Note: The keep option supersedes the u(t) parameter. If superseded by the keep parameter, t,u⁡t represents the original variables in the transformation back to the given ODE. (See the examples.)
Parts of the code for the command rational_equivalent were written by Austin Roche.
As the simplest example, consider a first order linear homogeneous ODE.
In this output we see the "rational normal form with minimal degrees" followed by the transformation mapping it into the given ODE. To perform this mapping and reobtain the given ODE, use dchange.
A second order linear ODE with nonrational coefficients:
non_rational_ode ≔ ⅆ2ⅆx2⁢y⁡x=1⁢2⋅13⁢x56+2x23⁢y⁡x4⁢x+1⁢−1+x16⁢ⅆⅆx⁢y⁡x2⁢x
rational_ode,tr ≔ power_equivalent⁡non_rational_ode,u⁡t
Solve the equivalent rational ODE, and then change variables using the returned transformation to obtain the solution to the given ODE.
sol_rational ≔ dsolve⁡rational_ode
sol_non_rational ≔ eval⁡sol_rational,tr
Isolating y⁡x, obtain the solution in explicit form.
The method works with abstract powers as well. (The keep option specifies that the returned rational ODE be in y⁡x.)
A higher order linear ODE example:
For the following example, already having rational coefficients, note the difference between its Normal form (see convert/NormalForm) and the Normal form with minimal degrees returned by power_equivalent.
ode ≔ ⅆ5ⅆx5⁢y⁡x=x⁢y⁡x
Recalling the definition, a linear ODE of order n is in normal form when the coefficient of the (n-1)th derivative is zero. For a given ODE, there are many normal forms while the normal form with minimal degrees (one of these possible normal forms) is unique in that all the invariants (the coefficients of y⁡x and its derivative) have the lowest degrees achievable through power transformations. Here, the term degree of a rational expression means the degree of its numerator minus the degree of its denominator.
First order ODEs of Abel type
A first order ODE of Abel type is one that, when written in First Kind form, is of degree 3 in the dependent variable (see odeadvisor,Abel). For example,
As in the linear ODE case, the Normal form returned by power_equivalent is one of the possible Rational Normal Forms, that is, where the coefficient of y⁡x2 is zero and the independent term is equal to 1 (see convert/Abel_RNF). The Normal form by power_equivalent however always has rational coefficients and is of lowest degree (with respect to power transformations) in the independent variable.
An example where the input Abel ODE is in second kind form (see convert/FirstKind):
In the following example, the Abel ODE has rational coefficients, but its Rational Normal Form (see convert/Abel_RNF) is different from the normal form returned from power_equivalent in that the degrees in x of the invariants in the canonical form are significantly lower.
First order ODEs of Riccati type
As an example of Riccati type, consider
An equivalent Riccati equation in u(t), in normal form with minimal degrees, and the corresponding transformation are
Changing variables back we reobtain the starting equation
Download Help Document