2.1.47 Problem 49

Solved as second order ode using Kovacic algorithm
Maple
Mathematica
Sympy

Internal problem ID [9219]
Book : Collection of Kovacic problems
Section : section 1
Problem number : 49
Date solved : Sunday, March 30, 2025 at 02:25:50 PM
CAS classification : [[_2nd_order, _with_linear_symmetries]]

Solved as second order ode using Kovacic algorithm

Time used: 0.268 (sec)

Writing the ode as

(1)x2(1+x)y+(2x2+x)y+(6x4)y=0(2)Ay+By+Cy=0

Comparing (1) and (2) shows that

A=x2(1+x)(3)B=2x2+xC=6x4

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=24x2+40x+154(x2+x)2

Comparing the above to (5) shows that

s=24x2+40x+15t=4(x2+x)2

Therefore eq. (4) becomes

(7)z(x)=(24x2+40x+154(x2+x)2)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.47: 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)=42=2

The poles of r in eq. (7) and the order of each pole are determined by solving for the roots of t=4(x2+x)2. There is a pole at x=0 of order 2. There is a pole at x=1 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=52x+154x214(1+x)252(1+x)

For the pole at x=1 let b be the coefficient of 1(1+x)2 in the partial fractions decomposition of r given above. Therefore b=14. Hence

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

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

[r]c=0αc+=12+1+4b=52αc=121+4b=32

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=24x2+40x+154(x2+x)2

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

[r]=0α+=12+1+4b=3α=121+4b=2

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

r=24x2+40x+154(x2+x)2

pole c location pole order [r]c αc+ αc
1 2 0 12 12
0 2 0 52 32

Order of r at [r] α+ α
2 0 3 2

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 α+=3 then

d=α+(αc1++αc2+)=3(3)=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]

Substituting the above values in the above results in

ω=((+)[r]c1+αc1+xc1)+((+)[r]c2+αc2+xc2)+(+)[r]=12+2x+52x+(0)=12+2x+52x=6x+52x(1+x)

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(12+2x+52x)(0)+((12(1+x)252x2)+(12+2x+52x)2(24x2+40x+154(x2+x)2))=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=e(12+2x+52x)dx=x5/21+x

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

y1=z1e12BAdx=z1e122x2+xx2(1+x)dx=z1eln(x(1+x))2=z1(1x(1+x))

Which simplifies to

y1=x5/21+xx(1+x)

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

y2=y1eBAdxy12dx

Substituting gives

y2=y1e2x2+xx2(1+x)dx(y1)2dx=y1eln(x(1+x))(y1)2dx=y1(14x412x2+ln(x)+13x3+1xln(1+x))

Therefore the solution is

y=c1y1+c2y2=c1(x5/21+xx(1+x))+c2(x5/21+xx(1+x)(14x412x2+ln(x)+13x3+1xln(1+x)))

Will add steps showing solving for IC soon.

Maple. Time used: 0.004 (sec). Leaf size: 46
ode:=x^2*(x+1)*diff(diff(y(x),x),x)+x*(2*x+1)*diff(y(x),x)-(6*x+4)*y(x) = 0; 
dsolve(ode,y(x), singsol=all);
 
y=c1x2+c2(12ln(x)x412ln(1+x)x4+12x36x2+4x3)x2

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) 
   Group is reducible, not completely reducible 
<- Kovacics algorithm successful
 

Maple step by step

Let’s solvex2(1+x)(ddxddxy(x))+x(1+2x)(ddxy(x))(4+6x)y(x)=0Highest derivative means the order of the ODE is2ddxddxy(x)Isolate 2nd derivativeddxddxy(x)=2(2+3x)y(x)x2(1+x)(1+2x)(ddxy(x))x(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+2x)(ddxy(x))x(1+x)2(2+3x)y(x)x2(1+x)=0Check to see ifx0is a regular singular pointDefine functions[P2(x)=1+2xx(1+x),P3(x)=2(2+3x)x2(1+x)](1+x)P2(x)is analytic atx=1((1+x)P2(x))|x=1=1(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 denominatorsx2(1+x)(ddxddxy(x))+x(1+2x)(ddxy(x))+(6x4)y(x)=0Change variables usingx=u1so that the regular singular point is atu=0(u32u2+u)(ddudduy(u))+(2u23u+1)(dduy(u))+(6u+2)y(u)=0Assume series solution fory(u)y(u)=k=0akuk+rRewrite ODE with series expansionsConvertumy(u)to series expansion form=0..1umy(u)=k=0akuk+r+mShift index usingk>kmumy(u)=k=makmuk+rConvertum(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 expansionsa0r2u1+r+(a1(1+r)2a0(2r2+r2))ur+(k=1(ak+1(k+1+r)2ak(2k2+4kr+2r2+k+r2)+ak1(k+2+r)(k3+r))uk+r)=0a0cannot be 0 by assumption, giving the indicial equationr2=0Values of r that satisfy the indicial equationr=0Each term must be 0a1(1+r)2a0(2r2+r2)=0Each term in the series must be 0, giving the recursion relation(k2k6)ak1+(2k2k+2)ak+ak+1(k+1)2=0Shift index usingk>k+1((k+1)2k7)ak+(2(k+1)2k+1)ak+1+ak+2(k+2)2=0Recursion relation that defines series solution to ODEak+2=k2ak2k2ak+1+kak5kak+16akak+1(k+2)2Recursion relation forr=0ak+2=k2ak2k2ak+1+kak5kak+16akak+1(k+2)2Solution forr=0[y(u)=k=0akuk,ak+2=k2ak2k2ak+1+kak5kak+16akak+1(k+2)2,a1+2a0=0]Revert the change of variablesu=1+x[y(x)=k=0ak(1+x)k,ak+2=k2ak2k2ak+1+kak5kak+16akak+1(k+2)2,a1+2a0=0]
Mathematica. Time used: 0.253 (sec). Leaf size: 103
ode=x^2*(1+x)*D[y[x],{x,2}]+x*(1+2*x)*D[y[x],x]-(4+6*x)*y[x]==0; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 
y(x)exp(1x6K[1]+52K[1]2+2K[1]dK[1]121x(1K[2]+1+1K[2])dK[2])(c21xexp(21K[3]6K[1]+52K[1]2+2K[1]dK[1])dK[3]+c1)
Sympy
from sympy import * 
x = symbols("x") 
y = Function("y") 
ode = Eq(x**2*(x + 1)*Derivative(y(x), (x, 2)) + x*(2*x + 1)*Derivative(y(x), x) - (6*x + 4)*y(x),0) 
ics = {} 
dsolve(ode,func=y(x),ics=ics)
 
False