Solving Abel's ODEs of the First Kind
Description
Examples
The general form of Abel's equation of the first kind is given by:
Abel_ode := diff(y(x),x)=f3(x)*y(x)^3+f2(x)*y(x)^2+f1(x)*y(x)+f0(x);
Abel_ode≔ⅆⅆxy⁡x=f3⁡x⁢y⁡x3+f2⁡x⁢y⁡x2+f1⁡x⁢y⁡x+f0⁡x
where f3(x), f2(x), f1(x) and f0(x) are arbitrary functions.
See Differentialgleichungen, by E. Kamke, p. 24. There is as yet no general solution for this ODE. For Abel's equation of the second kind, see Abel2A and Abel2C.
The most general method available at the moment to solve Abel ODEs seems to be the method of "Abel's invariant", described in E. Kamke, p. 26, as sub-method (g) due to M. Chini. The invariant of an Abel equation with f2=0 is the following quantity:
Abel_invariant := -1/27/f3(x)^4*(-diff(f0(x),x)*f3(x)+f0(x)*diff(f3(x),x)+ 3*f0(x)*f3(x)*f1(x))^3/f0(x)^5;
Abel_invariant≔−−ⅆⅆxf0⁡x⁢f3⁡x+f0⁡x⁢ⅆⅆxf3⁡x+3⁢f0⁡x⁢f3⁡x⁢f1⁡x327⁢f3⁡x4⁢f0⁡x5
If the invariant does not depend on x, then the equation can be solved directly.
For an Abel equation with f2<>0, the f2 term can be removed by using the following transformation:
y(x)=u(x)-f2(x)/3/f3(x);
y⁡x=u⁡x−f2⁡x3⁢f3⁡x
The invariant can then be calculated as in the previous case. Note that if an Abel ODE has a constant invariant, then any other Abel ODE obtained from it by a transformation of the form
{y(x)=G(t)*u(t)+H(t), x=F(t)};
x=F⁡t,y⁡x=G⁡t⁢u⁡t+H⁡t
will also have a constant invariant (that is, is also solvable by this method).
The method "Chini" (see ?odeadvisor,Chini), also due to Chini, generalizes this method of the constant invariant for Abel ODEs.
Abel_ode≔diff⁡y⁡x,x=f3⁡x⁢y⁡x3+f2⁡x⁢y⁡x2+f1⁡x⁢y⁡x+f0⁡x
Abel_invariant≔−127⁢f3⁡x4⁢−diff⁡f0⁡x,x⁢f3⁡x+f0⁡x⁢diff⁡f3⁡x,x+3⁢f0⁡x⁢f3⁡x⁢f1⁡x3f0⁡x5
with⁡DEtools,odeadvisor
odeadvisor
with⁡PDEtools,dchange
dchange
odeadvisor⁡Abel_ode
_Abel
1) An example of an Abel ODE having a constant invariant solved using the related scheme:
ODE≔diff⁡y⁡x,x=127⁢12⁢x+27⁢x3+27⁢x3⁢y⁡x2+18⁢x2⁢y⁡x+27⁢y⁡x3⁢x3+27⁢x2⁢y⁡x2+9⁢x⁢y⁡x+1x3:
ans≔dsolve⁡ODE
ans≔y⁡x=29⁢RootOf⁡−81⁢∫` `_Z1841⁢_a3−27⁢_a+27ⅆ_a+x+3⁢c__1⁢x−3⁢x−39⁢x
Any "linear transformation" of ODE will also be solved by the same method. For example:
TR_LIN≔x=F⁡t,y⁡x=G⁡t⁢u⁡t+H⁡t
ODE_p≔dchange⁡TR_LIN,ODE,u,t:
ans_p≔dsolve⁡ODE_p,u⁡t
ans_p≔u⁡t=−9⁢H⁡t⁢F⁡t−29⁢RootOf⁡−81⁢∫` `_Z1841⁢_a3−27⁢_a+27ⅆ_a+F⁡t+3⁢c__1⁢F⁡t+3⁢F⁡t+39⁢G⁡t⁢F⁡t
2) A case for which the solving method is known: f0(x) = f1(x) = 0, and diff(f3(x)/f2(x),x)=a*f2(x).
In this case, one can proceed as follows:
ode≔subs⁡f0⁡x=0,f1⁡x=0,Abel_ode
ode≔ⅆⅆxy⁡x=f3⁡x⁢y⁡x3+f2⁡x⁢y⁡x2
First introduce r(t) and t as new variables using:
ITR≔x=t,y⁡x=f2⁡tf3⁡t⁢r⁡t
ITR≔x=t,y⁡x=f2⁡t⁢r⁡tf3⁡t
new_ode≔dchange⁡ITR,ode,r⁡t,t:
Now, introduce the condition on the derivative of f3(t)/f2(t):
constraint≔diff⁡f3⁡tf2⁡t,t−a⁢f2⁡t=0
constraint≔ⅆⅆtf3⁡tf2⁡t−f3⁡t⁢ⅆⅆtf2⁡tf2⁡t2−a⁢f2⁡t=0
and simplify new_ode with regard to this relation:
new_ode2≔simplify⁡new_ode,constraint,diff⁡f3⁡t,t
new_ode2≔−r⁡t⁢f2⁡t3⁢a+f2⁡t⁢ⅆⅆtr⁡t⁢f3⁡tf3⁡t2=f2⁡t3⁢r⁡t2⁢r⁡t+1f3⁡t2
This ODE is separable.
odeadvisor⁡new_ode2
_separable
3) Rewrite in "normal form" (no square term in the RHS) when: f3(x)=1/x, f2(x)=1/x, f1(x)=0, f0(x)=4
ode≔eval⁡subs⁡f0⁡x=4,f1⁡x=0,f2⁡x=1x,f3⁡x=1x,Abel_ode
ode≔ⅆⅆxy⁡x=y⁡x3x+y⁡x2x+4
First of all, Abel's ODEs of the first kind can be rewritten in normal form (which is sometimes useful) by making the appropriate change of variables. The transformation is of a general type. After introducing
w⁡x≔exp⁡int⁡f1⁡x−f2⁡x23⁢f3⁡x,x
w⁡x≔ⅇ∫f1⁡x−f2⁡x23⁢f3⁡xⅆx
the following transformations (where {x,y(x)} = old vars; {t,r(t)} = new vars) will yield the desired normal form:
tr≔t=int⁡f3⁡x⁢w⁡x2,x,r⁡t=13⁢exp⁡int⁡f1⁡x−13⁢f2⁡x2f3⁡x,x⁢3⁢y⁡x⁢f3⁡x+f2⁡xf3⁡x
tr≔t=∫f3⁡x⁢w⁡x2ⅆx,r⁡t=3⁢y⁡x⁢f3⁡x+f2⁡x3⁢ⅇ∫f1⁡x−f2⁡x23⁢f3⁡xⅆx⁢f3⁡x
The transformation equations required for this case are obtained from the general transformation tr (above) as follows:
TR≔eval⁡subs⁡f0⁡x=4,f1⁡x=0,f2⁡x=1x,f3⁡x=1x,tr
TR≔t=−32⁢x23,r⁡t=x43⁢3⁢y⁡xx+1x3
ITR≔solve⁡TR,x,y⁡x
ITR≔x=−3⁢RootOf⁡2⁢t⁢_Z2+32⁢t,y⁡x=−RootOf⁡2⁢t⁢_Z2+3−3⁢r⁡t3⁢RootOf⁡2⁢t⁢_Z2+3
and the change of variables is implemented as follows:
new_ode≔dchange⁡ITR,ode,t,r⁡t,known=indets⁡ode,unknown:
new_ode2≔simplify⁡op⁡1,map⁡allvalues,solve⁡new_ode,diff⁡r⁡t,t
new_ode2≔ⅆⅆtr⁡t=18⁢t3⁢r⁡t3−t2⁢6⁢−1t−24318⁢t3
Finally, the normal form can be made explicit as follows:
collect⁡new_ode2,r⁡t,factor
ⅆⅆtr⁡t=r⁡t3−t2⁢6⁢−1t+24318⁢t3
See Also
DEtools
dsolve
quadrature
linear
separable
Bernoulli
exact
homogeneous
homogeneousB
homogeneousC
homogeneousD
homogeneousG
Chini
Riccati
Abel
Abel2A
Abel2C
rational
Clairaut
dAlembert
sym_implicit
patterns
odeadvisor,types
Download Help Document