2.1.114 Problem 116

Solved as second order ode using Kovacic algorithm
Maple
Mathematica
Sympy

Internal problem ID [9284]
Book : Collection of Kovacic problems
Section : section 1
Problem number : 116
Date solved : Friday, April 25, 2025 at 06:04:27 PM
CAS classification : [[_2nd_order, _with_linear_symmetries]]

Solve

2x2(1+x)yx(13x)y+y=0

Solved as second order ode using Kovacic algorithm

Time used: 0.219 (sec)

Writing the ode as

(1)(2x3+2x2)y+(3x2x)y+y=0(2)Ay+By+Cy=0

Comparing (1) and (2) shows that

A=2x3+2x2(3)B=3x2xC=1

Applying the Liouville transformation on the dependent variable gives

z(x)=yeB2Adx

Then (2) becomes

(4)z(x)=rz(x)

Where r is given by

(5)r=st=2AB2BA+B24AC4A2

Substituting the values of A,B,C from (3) in the above and simplifying gives

(6)r=316x2

Comparing the above to (5) shows that

s=3t=16x2

Therefore eq. (4) becomes

(7)z(x)=(316x2)z(x)

Equation (7) is now solved. After finding z(x) then y is found using the inverse transformation

y=z(x)eB2Adx

The first step is to determine the case of Kovacic algorithm this ode belongs to. There are 3 cases depending on the order of poles of r and the order of r at . The following table summarizes these cases.

Case

Allowed pole order for r

Allowed value for O()

1

{0,1,2,4,6,8,}

{,6,4,2,0,2,3,4,5,6,}

2

Need to have at least one pole that is either order 2 or odd order greater than 2. Any other pole order is allowed as long as the above condition is satisfied. Hence the following set of pole orders are all allowed. {1,2},{1,3},{2},{3},{3,4},{1,2,5}.

no condition

3

{1,2}

{2,3,4,5,6,7,}

Table 2.114: Necessary conditions for each Kovacic case

The order of r at is the degree of t minus the degree of s. Therefore

O()=deg(t)deg(s)=20=2

The poles of r in eq. (7) and the order of each pole are determined by solving for the roots of t=16x2. There is a pole at x=0 of order 2. Since there is no odd order pole larger than 2 and the order at is 2 then the necessary conditions for case one are met. Since there is a pole of order 2 then necessary conditions for case two are met. Since pole order is not larger than 2 and the order at is 2 then the necessary conditions for case three are met. Therefore

L=[1,2,4,6,12]

Attempting to find a solution using case n=1.

Looking at poles of order 2. The partial fractions decomposition of r is

r=316x2

For the pole at x=0 let b be the coefficient of 1x2 in the partial fractions decomposition of r given above. Therefore b=316. Hence

[r]c=0αc+=12+1+4b=34αc=121+4b=14

Since the order of r at is 2 then [r]=0. Let b be the coefficient of 1x2 in the Laurent series expansion of r at . which can be found by dividing the leading coefficient of s by the leading coefficient of t from

r=st=316x2

Since the gcd(s,t)=1. This gives b=316. Hence

[r]=0α+=12+1+4b=34α=121+4b=14

The following table summarizes the findings so far for poles and for the order of r at where r is

r=316x2

pole c location pole order [r]c αc+ αc
0 2 0 34 14

Order of r at [r] α+ α
2 0 34 14

Now that the all [r]c and its associated αc± have been determined for all the poles in the set Γ and [r] and its associated α± have also been found, the next step is to determine possible non negative integer d from these using

d=αs()cΓαcs(c)

Where s(c) is either + or and s() is the sign of α±. This is done by trial over all set of families s=(s(c))cΓ until such d is found to work in finding candidate ω. Trying α=14 then

d=α(αc1)=14(14)=0

Since d an integer and d0 then it can be used to find ω using

ω=cΓ(s(c)[r]c+αcs(c)xc)+s()[r]

The above gives

ω=(()[r]c1+αc1xc1)+()[r]=14x+()(0)=14x=14x

Now that ω is determined, the next step is find a corresponding minimal polynomial p(x) of degree d=0 to solve the ode. The polynomial p(x) needs to satisfy the equation

(1A)p+2ωp+(ω+ω2r)p=0

Let

(2A)p(x)=1

Substituting the above in eq. (1A) gives

(0)+2(14x)(0)+((14x2)+(14x)2(316x2))=00=0

The equation is satisfied since both sides are zero. Therefore the first solution to the ode z=rz is

z1(x)=peωdx=e14xdx=x1/4

The first solution to the original ode in y is found from

y1=z1e12BAdx=z1e123x2x2x3+2x2dx=z1eln(1+x)+ln(x)4=z1(x1/41+x)

Which simplifies to

y1=x1+x

The second solution y2 to the original ode is found using reduction of order

y2=y1eBAdxy12dx

Substituting gives

y2=y1e3x2x2x3+2x2dx(y1)2dx=y1e2ln(1+x)+ln(x)2(y1)2dx=y1(2e2ln(1+x)+ln(x)2(1+x)2)

Therefore the solution is

y=c1y1+c2y2=c1(x1+x)+c2(x1+x(2e2ln(1+x)+ln(x)2(1+x)2))

Will add steps showing solving for IC soon.

Maple. Time used: 0.012 (sec). Leaf size: 19
ode:=2*x^2*(1+x)*diff(diff(y(x),x),x)-x*(1-3*x)*diff(y(x),x)+y(x) = 0; 
dsolve(ode,y(x), singsol=all);
 
y=c2x+c1x1+x

Maple trace

Methods for second order ODEs: 
--- Trying classification methods --- 
trying a quadrature 
checking if the LODE has constant coefficients 
checking if the LODE is of Euler type 
trying a symmetry of the form [xi=0, eta=F(x)] 
checking if the LODE is missing y 
-> Trying a Liouvillian solution using Kovacics algorithm 
   A Liouvillian solution exists 
   Reducible group (found an exponential solution) 
   Reducible group (found another exponential solution) 
<- Kovacics algorithm successful
 

Maple step by step

Let’s solve2x2(1+x)(ddxddxy(x))x(13x)(ddxy(x))+y(x)=0Highest derivative means the order of the ODE is2ddxddxy(x)Isolate 2nd derivativeddxddxy(x)=y(x)2x2(1+x)(1+3x)(ddxy(x))2x(1+x)Group terms withy(x)on the lhs of the ODE and the rest on the rhs of the ODE; ODE is linearddxddxy(x)+(1+3x)(ddxy(x))2x(1+x)+y(x)2x2(1+x)=0Check to see ifx0is a regular singular pointDefine functions[P2(x)=1+3x2x(1+x),P3(x)=12x2(1+x)](1+x)P2(x)is analytic atx=1((1+x)P2(x))|x=1=2(1+x)2P3(x)is analytic atx=1((1+x)2P3(x))|x=1=0x=1is a regular singular pointCheck to see ifx0is a regular singular pointx0=1Multiply by denominators2x2(1+x)(ddxddxy(x))+x(1+3x)(ddxy(x))+y(x)=0Change variables usingx=u1so that the regular singular point is atu=0(2u34u2+2u)(ddudduy(u))+(3u27u+4)(dduy(u))+y(u)=0Assume series solution fory(u)y(u)=k=0akuk+rRewrite ODE with series expansionsConvertum(dduy(u))to series expansion form=0..2um(dduy(u))=k=0ak(k+r)uk+r1+mShift index usingk>k+1mum(dduy(u))=k=1+mak+1m(k+1m+r)uk+rConvertum(ddudduy(u))to series expansion form=1..3um(ddudduy(u))=k=0ak(k+r)(k+r1)uk+r2+mShift index usingk>k+2mum(ddudduy(u))=k=2+mak+2m(k+2m+r)(k+1m+r)uk+rRewrite ODE with series expansions2a0r(1+r)u1+r+(2a1(1+r)(2+r)a0(1+r)(1+4r))ur+(k=1(2ak+1(k+r+1)(k+2+r)ak(k+r+1)(4k+4r1)+ak1(k+r1)(2k1+2r))uk+r)=0a0cannot be 0 by assumption, giving the indicial equation2r(1+r)=0Values of r that satisfy the indicial equationr{1,0}Each term must be 02a1(1+r)(2+r)a0(1+r)(1+4r)=0Each term in the series must be 0, giving the recursion relation(4ak+2ak1+2ak+1)k2+((8ak+4ak1+4ak+1)r3ak3ak1+6ak+1)k+(4ak+2ak1+2ak+1)r2+(3ak3ak1+6ak+1)r+ak+ak1+4ak+1=0Shift index usingk>k+1(4ak+1+2ak+2ak+2)(k+1)2+((8ak+1+4ak+4ak+2)r3ak+13ak+6ak+2)(k+1)+(4ak+1+2ak+2ak+2)r2+(3ak+13ak+6ak+2)r+ak+1+ak+4ak+2=0Recursion relation that defines series solution to ODEak+2=2k2ak4k2ak+1+4krak8krak+1+2r2ak4r2ak+1+kak11kak+1+rak11rak+16ak+12(k2+2kr+r2+5k+5r+6)Recursion relation forr=1ak+2=2k2ak4k2ak+13kak3kak+1+ak+ak+12(k2+3k+2)Solution forr=1[y(u)=k=0akuk1,ak+2=2k2ak4k2ak+13kak3kak+1+ak+ak+12(k2+3k+2),0=0]Revert the change of variablesu=1+x[y(x)=k=0ak(1+x)k1,ak+2=2k2ak4k2ak+13kak3kak+1+ak+ak+12(k2+3k+2),0=0]Recursion relation forr=0ak+2=2k2ak4k2ak+1+kak11kak+16ak+12(k2+5k+6)Solution forr=0[y(u)=k=0akuk,ak+2=2k2ak4k2ak+1+kak11kak+16ak+12(k2+5k+6),4a1+a0=0]Revert the change of variablesu=1+x[y(x)=k=0ak(1+x)k,ak+2=2k2ak4k2ak+1+kak11kak+16ak+12(k2+5k+6),4a1+a0=0]Combine solutions and rename parameters[y(x)=(k=0ak(1+x)k1)+(k=0bk(1+x)k),ak+2=2k2ak4k2ak+13kak3kak+1+ak+ak+12(k2+3k+2),0=0,bk+2=2k2bk4k2bk+1+kbk11kbk+16bk+12(k2+5k+6),4b1+b0=0]
Mathematica. Time used: 0.234 (sec). Leaf size: 53
ode=2*x^2*(1+x)*D[y[x],{x,2}]-x*(1-3*x)*D[y[x],x]+y[x]==0; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 
y(x)x4(2c2x+c1)exp(121x(2K[1]+112K[1])dK[1])
Sympy
from sympy import * 
x = symbols("x") 
y = Function("y") 
ode = Eq(2*x**2*(x + 1)*Derivative(y(x), (x, 2)) - x*(1 - 3*x)*Derivative(y(x), x) + y(x),0) 
ics = {} 
dsolve(ode,func=y(x),ics=ics)
 
False