2.1.228 Problem 231

Solved as second order ode using Kovacic algorithm
Maple
Mathematica
Sympy

Internal problem ID [9400]
Book : Collection of Kovacic problems
Section : section 1
Problem number : 231
Date solved : Wednesday, March 05, 2025 at 07:48:38 AM
CAS classification : [[_2nd_order, _with_linear_symmetries]]

Solve

4xyxy+2y=0

Solved as second order ode using Kovacic algorithm

Time used: 0.216 (sec)

Writing the ode as

(1)4xyxy+2y=0(2)Ay+By+Cy=0

Comparing (1) and (2) shows that

A=4x(3)B=xC=2

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=x3264x

Comparing the above to (5) shows that

s=x32t=64x

Therefore eq. (4) becomes

(7)z(x)=(x3264x)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.228: 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)=11=0

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

L=[1]

Attempting to find a solution using case n=1.

Looking at poles of order 1. For the pole at x=0 of order 1 then

[r]c=0αc+=1αc=1

Since the order of r at is Or()=0 then

v=Or()2=02=0

[r] is the sum of terms involving xi for 0iv in the Laurent series for r at . Therefore

[r]=i=0vaixi(8)=i=00aixi

Let a be the coefficient of xv=x0 in the above sum. The Laurent series of r at is

(9)r182x16x2256x35120x4114688x52752512x669206016x7+

Comparing Eq. (9) with Eq. (8) shows that

a=18

From Eq. (9) the sum up to v=0 gives

[r]=i=00aixi(10)=18

Now we need to find b, where b be the coefficient of xv1=x1=1x in r minus the coefficient of same term but in ([r])2 where [r] was found above in Eq (10). Hence

([r])2=164

This shows that the coefficient of 1x in the above is 0. Now we need to find the coefficient of 1x in r. How this is done depends on if v=0 or not. Since v=0 then starting from r=st and doing long division in the form

r=Q+Rt

Where Q is the quotient and R is the remainder. Then the coefficient of 1x in r will be the coefficient in R of the term in x of degree of t minus one, divided by the leading coefficient in t. Doing long division gives

r=st=x3264x=Q+R64x=(164)+(12x)=16412x

Since the degree of t is 1, then we see that the coefficient of the term 1 in the remainder R is 32. Dividing this by leading coefficient in t which is 64 gives 12. Now b can be found.

b=(12)(0)=12

Hence

[r]=18α+=12(bav)=12(12180)=2α=12(bav)=12(12180)=2

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

r=x3264x

pole c location pole order [r]c αc+ αc
0 1 0 0 1

Order of r at [r] α+ α
0 18 2 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 α=2 then

d=α(αc1)=2(1)=1

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]=1x+()(18)=1x18=1x18

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

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

Let

(2A)p(x)=x+a0

Substituting the above in eq. (1A) gives

(0)+2(1x18)(1)+((1x2)+(1x18)2(x3264x))=08+a04x=0

Solving for the coefficients ai in the above using method of undetermined coefficients gives

{a0=8}

Substituting these coefficients in p(x) in eq. (2A) results in

p(x)=8+x

Therefore the first solution to the ode z=rz is

z1(x)=peωdx=(8+x)e(1x18)dx=(8+x)ex8+ln(x)=(8+x)xex8

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

y1=z1e12BAdx=z1e12x4xdx=z1ex8=z1(ex8)

Which simplifies to

y1=(8+x)x

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

y2=y1eBAdxy12dx

Substituting gives

y2=y1ex4xdx(y1)2dx=y1ex4(y1)2dx=y1(Ei1(x4)128ex464xex4256(2+x4))

Therefore the solution is

y=c1y1+c2y2=c1((8+x)x)+c2((8+x)x(Ei1(x4)128ex464xex4256(2+x4)))

Will add steps showing solving for IC soon.

Maple. Time used: 0.005 (sec). Leaf size: 33
ode:=4*diff(diff(y(x),x),x)*x-x*diff(y(x),x)+2*y(x) = 0; 
dsolve(ode,y(x), singsol=all);
 
y=xc2(x8)Ei1(x4)16+c2(x4)ex44+c1x(x8)

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`
 

Mathematica. Time used: 0.296 (sec). Leaf size: 42
ode=4*x*D[y[x],{x,2}]-x*D[y[x],x]+2*y[x]==0; 
ic={}; 
DSolve[{ode,ic},y[x],x,IncludeSingularSolutions->True]
 
y(x)(x8)x(c21xeK[1]4(K[1]8)2K[1]2dK[1]+c1)
Sympy
from sympy import * 
x = symbols("x") 
y = Function("y") 
ode = Eq(-x*Derivative(y(x), x) + 4*x*Derivative(y(x), (x, 2)) + 2*y(x),0) 
ics = {} 
dsolve(ode,func=y(x),ics=ics)
 
False