Application Center - Maplesoft

App Preview:

The Genesis of the ODE. Geometrical Interpretation

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

LieGenesisODE.mws

The Genesis of the ODE. Geometrical Interpretation

Gennady V. Kovalev

School of Mathematics, University of Minnesota, Minneapolis, MN 55455,USA

kovalevgennady@qwest.net

The objective of this worksheet is to demonstrate the connection of a geometrical idea of  1D manifold on the plane with a notion of  ordinary differential equation. Here is a good place to quote:

"...one finds here and there among the analysts the view that analysis not only can  be developed independently of geometry, but   must , since in their opinion, proofs of analytic propositions by geometric considerations are not unconditionally reliable. In my scientific endeavors I have always proceeded from the view that on the contrary it is desirable that analysis and geometry should  now, as earlier they did, mutually support and enrich each other  with new ideas. ... For more then twenty-five years I have been trying to gain acceptance for this view of mine by means of my own work. "

Sophus Lie, from Forward to  "Geometrie der Beruhrungstransformationen".

>    restart: with(plots): with(PDEtools): PDEtools[declare](y(x), prime=x):
Warning, the name changecoords has been red

Warning, the name changecoords has been redefined

` y(x) will now be displayed as y `

`derivatives with respect to: x of functions of one variable will now be displayed with ' `

An equation of the form omega ( x,y )=0 is used to express the fact that one of the two variables  x  and y  is the function of the other. If the equation also contains an arbitrary constant a,  its presence  indicates the family of the functions or the curves in the coordinate plane ( x,y )

omega ( x,y , a ) = 0.                      (1)

For example, the family of all circles around the center of coordinates is x^2+y^2-a = 0 . By differentiating (1), we obtain

diff(omega(x,y,a),x)  dx + diff(omega(x,y,a),y)  dy = 0,     

or

dy/dx  = - diff(omega(x,y,a),x)/diff(omega(x,y,a),y)           (2)

and the constant a may have been removed by process of differentiation. If, however, (2)  still contains a , it may be eliminated by means of equation (1).

After  the elimination an equation involving x, y, and   `y'`  = dy/dx   takes the  form

F ( x, y, `y'` ) = 0,    (3)

and is called an ordinary differential equation of the first order in two variables. For mentioned example it will be `y'`  = - x/y .  If the equation (1) contains two independent arbitrary constants, so that it may be written in the form

omega ( x,y , a,b ) = 0,       (4)

two successive differentiations of (4)  will give an equation containing   `y''` , from which, by means of (4)  and the equation obtained from (4)  by a first differentiation, both arbitrary constants, a, b,  if they are still present, may be eliminated. We obtain thus an equation of the general form

 

F ( x, y, `y''` , `y'`  ) = 0,  (5)

which is an ordinary  differential equation of the second order in two variables. It is clear that if (1)  contained three   independent arbitrary constants it would give rise to a differential equation of the third  order, and, in general, we see that the order of a differential equation is the same as the number of independent arbitrary constants in the equation of curves.

From what has been said, it is seen that to find the differential equation of the n-th order  corresponding to the equation of family of curves containing n  arbitrary

constants, it is necessary to differentiate this equation n  times successively, and eliminate, between the n+1  equations thus obtained, the n  arbitrary constants.

The following are examples of several families of curves on the plane for which the differential equation of the 1 st,  2 nd , and 3 rd  order are generated.

Example1

Consider one parameter family of curves. Each parameter a gives a single curve:

>    exp1:=y(x)=a*exp(-tan(x)^(-1))+tan(x)^(-1)-1;

exp1 := y = a*exp(-1/tan(x))+1/tan(x)-1

The curves have singularities at x= pi m,   m =0,+/-1,+/-2... and for a=0.1, 2, 4, 8 are plotted:

>    a1:=implicitplot(y=.1*exp(-tan(x)^(-1))+tan(x)^(-1)-1,x=-1.3..0,y=-10..100,color=blue):
a2:=implicitplot(y=2*exp(-tan(x)^(-1))+tan(x)^(-1)-1,x=-1.3..0,y=-10..100,color=green):
a3:=implicitplot(y=4*exp(-tan(x)^(-1))+tan(x)^(-1)-1,x=-1.3..0,y=-10..100,color=yellow):
a4:=implicitplot(y=8*exp(-tan(x)^(-1))+tan(x)^(-1)-1,x=-1.3..0,y=-10..100,color=red):
display(a1,a2,a3,a4);

[Maple Plot]

We can eliminate the parameter a   by solving the following equation  relatively a :

>    dexp1:=diff(exp1,x);

dexp1 := `y'` = a/tan(x)^2*(1+tan(x)^2)*exp(-1/tan(x))-1/tan(x)^2*(1+tan(x)^2)

>    c1:=solve(dexp1,a);

c1 := (`y'`*tan(x)^2+1+tan(x)^2)*exp(1/tan(x))/(1+tan(x)^2)

>    ode1:=subs(a=c1,exp1);

ode1 := y = (`y'`*tan(x)^2+1+tan(x)^2)*exp(1/tan(x))/(1+tan(x)^2)*exp(-1/tan(x))+1/tan(x)-1

It is easy to check  this ODE by solving it. The solution is called  the general integral which is the same as the equation of family of the curves.

The integration constant _C1  is the parameter  a of the family of the cirves:

>    dsolve(ode1);

y = exp(-1/tan(x))*_C1-(tan(x)-1)/tan(x)

Example2

In previous example the curves for different a  are not intersected. In the following they all are intersected at the point ( 0,-1 ):

>    exp2:=a*x^2=(1+x)^2*(1+y(x))^2;

exp2 := a*x^2 = (1+x)^2*(1+y)^2

And the curves are two valued:

>    solve(exp2, y(x));

(-x-1+x*a^(1/2))/(1+x), (-x-1-x*a^(1/2))/(1+x)

The curves have singularity at x= -1.   Graphs are plotted for a=0.1, 1, 2, 3 :

>    a1:=implicitplot(.1*x^2=(1+x)^2*(1+y)^2,x=-4..4,y=-4..4, grid = [150,150],color=blue):
a2:=implicitplot(1*x^2=(1+x)^2*(1+y)^2,x=-4..4,y=-4..4, grid = [150,150],color=green):
a3:=implicitplot(2*x^2=(1+x)^2*(1+y)^2,x=-4..4,y=-4..4, grid = [150,150],color=yellow):
a4:=implicitplot(3*x^2=(1+x)^2*(1+y)^2,x=-4..4,y=-4..4, grid = [150,150],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

>    dexp2:=diff(exp2,x);

dexp2 := 2*a*x = 2*(1+x)*(1+y)^2+2*(1+x)^2*(1+y)*`y'`

>    c1:=solve(dexp2,a);

c1 := (1+2*y+y^2+x+2*x*y+x*y^2+`y'`+`y'`*y+2*`y'`*x+2*`y'`*x*y+`y'`*x^2+`y'`*x^2*y)/x

>    ode2:=subs(a=c1,exp2);

ode2 := (1+2*y+y^2+x+2*x*y+x*y^2+`y'`+`y'`*y+2*`y'`*x+2*`y'`*x*y+`y'`*x^2+`y'`*x^2*y)*x = (1+x)^2*(1+y)^2

>    dsolve(ode2);

y = -1, y = (-1/x+_C1)*x/(1+x)

This differential equation has two solutions: one describes the original family of curves, another, as will be seen later, the line of envelope for the famaly of curves.  

Example3

Consider another example where the curves, which are simple straight lines,  intersect each other:

>    exp3:=y(x)=a*x+a-a^2;

exp3 := y = a*x+a-a^2

The curves have no singularities and are plotted for a=-3,-1, 1, 2 :

>    a1:=implicitplot(y=-3*x-3-9,x=-8..4,y=-4..12, color=blue):
a2:=implicitplot(y=-x-1-1,x=-8..4,y=-4..12, color=green):
a3:=implicitplot(y=x+1-1,x=-8..4,y=-4..12, color=yellow):
a4:=implicitplot(y=2*x+2-4,x=-8..4,y=-4..12, color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameter a  we need to differentiate equation exp3:

>    dexp3:=diff(exp3,x);

dexp3 := `y'` = a

>    c1:=solve(dexp3,a);

c1 := `y'`

>    ode3:=subs(a=c1,exp3);

ode3 := y = `y'`*x+`y'`-`y'`^2

>    dsolve(ode3);

y = 1/4+1/2*x+1/4*x^2, y = _C1*x+_C1-_C1^2

The second solution is exact original equation of the 1-parameter family curves.  To understand the meaning of the first solution we plot it together with drawings of the curves:

>    en:=plot(1/4+x/2+x^2/4,x=-8..4,y=-4..14, color=black):
display(en,a1,a2,a3,a4);

[Maple Plot]

We see that the first solution is touched to each straight line and the equation

y = 1/4+1/2*x+1/4*x^2

describes the envelope of the family of the curves.

Example4

In this example curves are filled a half of the plane but they do not intersect each other:

>    exp4:=y(x)=(a*x+log(x)+1)^(-1);

exp4 := y = 1/(a*x+ln(x)+1)

The curves have singularities at x=0  and for a=0.1, 2, 4, 8 are plotted:

>    a1:=implicitplot(y=(0.1*x+log(x)+1)^(-1),x=.04..4,y=-4..4, grid = [50,50],color=blue):
a2:=implicitplot(y=(2*x+log(x)+1)^(-1),x=.04..4,y=-4..4, grid = [50,50],color=green):
a3:=implicitplot(y=(4*x+log(x)+1)^(-1),x=.04..4,y=-4..4, grid = [50,50],color=yellow):
a4:=implicitplot(y=(8*x+log(x)+1)^(-1),x=.04..4,y=-4..4, grid = [50,50],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameter a  we need to differentiate equation exp4:

>    dexp4:=diff(exp4,x);

dexp4 := `y'` = -1/(a*x+ln(x)+1)^2*(a+1/x)

>    c1:=solve(dexp4,a);

c1 := 1/2*1/`y'`/x^2*(-2*`y'`*x-2*`y'`*x*ln(x)-1+(4*`y'`*x*ln(x)+1)^(1/2)), 1/2*1/`y'`/x^2*(-2*`y'`*x-2*`y'`*x*ln(x)-1-(4*`y'`*x*ln(x)+1)^(1/2))

>    ode4:=subs(a=c1[1],exp4);

ode4 := y = 1/(1/2*1/`y'`/x*(-2*`y'`*x-2*`y'`*x*ln(x)-1+(4*`y'`*x*ln(x)+1)^(1/2))+ln(x)+1)

>    dsolve(ode4);

y = 1/(ln(x)+1+x*_C1)

 There is no envelope.

Example5

This example has two families of the curves:

>    exp5:=exp(2*y(x))+2*a*x*exp(y(x))+a^2=0;

exp5 := exp(2*y)+2*a*x*exp(y)+a^2 = 0

>    solve(exp5, y(x));

ln((-x+(x^2-1)^(1/2))*a), ln((-x-(x^2-1)^(1/2))*a)

The curves have no singularities.   Graphs are plotted for a=-2,-1, 1, 2 :

>    a1:=implicitplot(exp(2*y)-2*2*x*exp(y)+(-2)^2=0,x=-4..4,y=-4..4, grid = [50,50],color=blue):
a2:=implicitplot(exp(2*y)-2*1*x*exp(y)+(-1)^2=0,x=-4..4,y=-4..4, grid = [50,50],color=green):
a3:=implicitplot(exp(2*y)+2*1*x*exp(y)+1^2=0,x=-4..4,y=-4..4, grid = [50,50],color=yellow):
a4:=implicitplot(exp(2*y)+2*2*x*exp(y)+(2)^2=0,x=-4..4,y=-4..4, grid = [50,50],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameter a  we need to differentiate equation exp5:

>    dexp5:=diff(exp5,x);

dexp5 := 2*`y'`*exp(2*y)+2*a*exp(y)+2*a*x*`y'`*exp(y) = 0

>    c1:=solve(dexp5,a);

c1 := -`y'`*exp(2*y)/exp(y)/(1+`y'`*x)

>    ode5:=subs(a=c1,exp5);

ode5 := exp(2*y)-2*`y'`*exp(2*y)/(1+`y'`*x)*x+`y'`^2*exp(2*y)^2/exp(y)^2/(1+`y'`*x)^2 = 0

>    dsolve(ode5);

Warning, it is required that the numerator of the given ODE depends on the highest derivative. Returning NULL.

y = ln(x+(x^2-1)^(1/2))+_C1, y = -ln(x+(x^2-1)^(1/2))+_C1

The solutions of ode5 are two families of the original curves. They obviously have envelopes: x = -1, x = 1 , but the dsove procedure can't find them.  

Example6

Now consider two parameter curves:

>    exp6:=y(x)=a*x^2+b*x;

exp6 := y = a*x^2+b*x

Graphs for ( a,b)=(-3, -2), (-2, -1), (4,3), (8,5) are plotted:

>    a1:=implicitplot(y=-3*x^2-2*x,x=-4..4,y=-4..4, grid = [100,100],color=blue):
a2:=implicitplot(y=-2*x^2-1*x,x=-4..4,y=-4..4, grid = [100,100],color=green):
a3:=implicitplot(y=4*x^2+3*x,x=-4..4,y=-4..4, grid = [100,100],color=yellow):
a4:=implicitplot(y=8*x^2+5*x,x=-4..4,y=-4..4, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameters a,b  we need twice to differentiate equation exp6:

>    dexp6:=diff(exp6,x);

dexp6 := `y'` = 2*a*x+b

>    ddexp6:=diff(dexp6,x);

ddexp6 := `y''` = 2*a

>    c1:=solve({dexp6,ddexp6},{a,b});c1[1];op(2,c1[1]);

c1 := {a = 1/2*`y''`, b = `y'`-`y''`*x}

a = 1/2*`y''`

1/2*`y''`

>    m:=subs(a=op(2,c1[1]), exp6); ode6:=subs(b=op(2,c1[2]),m);

m := y = 1/2*`y''`*x^2+b*x

ode6 := y = 1/2*`y''`*x^2+(`y'`-`y''`*x)*x

>    dsolve(ode6);

y = _C1*x^2+_C2*x

The solution is 2-parameter curve.

Example7

Here are 3-parameter curves but we eliminate two of them:

>    exp7:=y(x)=a*sin(n*x+b);

exp7 := y = a*sin(n*x+b)

Graphs for ( a,b)=(-3, -2), (-2, -1), (4,3), (4,5) are plotted:

>    a1:=implicitplot(y=-3*sin(x-2),x=-4..4,y=-4..4, grid = [100,100],color=blue):
a2:=implicitplot(y=-2*sin(x-1),x=-4..4,y=-4..4, grid = [100,100],color=green):
a3:=implicitplot(y=4*sin(x+3),x=-4..4,y=-4..4, grid = [100,100],color=yellow):
a4:=implicitplot(y=4*sin(2*x+5),x=-4..4,y=-4..4, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameters a,b  we need twice to differentiate equation exp7:

>    dexp7:=diff(exp7,x);

dexp7 := `y'` = a*cos(n*x+b)*n

>    ddexp7:=diff(dexp7,x);

ddexp7 := `y''` = -a*sin(n*x+b)*n^2

Here is straightforward approach:

>    c1:=solve({dexp7,ddexp7},{a,b});c1[1];op(2,c1[1]);

c1 := {a = RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)/n^2, b = -n*x+arctan(-`y''`/RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5),`y'`/RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)*n)}

a = RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)/n^2

RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)/n^2

>    m:=subs(a=op(2,c1[1]), exp7); ode7:=subs(b=op(2,c1[2]),m);

m := y = RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)/n^2*sin(n*x+b)

ode7 := y = RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)/n^2*sin(arctan(-`y''`/RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5),`y'`/RootOf(-`y''`^2-`y'`^2*n^2+_Z^2,label = _L5)*n))

>    dsolve(ode7);

y = _C1*sin(n*x)+_C2*cos(n*x)

The equation also can be received from ddexp7  and exp7:

>    ode7a:=subs(sin(n*x+b)=y(x)/a, ddexp7);

ode7a := `y''` = -y*n^2

>    dsolve(ode7a);

y = _C1*sin(n*x)+_C2*cos(n*x)

Example8

Consider another example of two parameter curves:

>    exp8:=y(x)=x*log((a+b*x)/x);

exp8 := y = x*ln((a+b*x)/x)

Graphs for ( a,b)=(-3, -2), (-2, -1), (4,3), (8,5) are plotted:

>    a1:=implicitplot(y=x*log((-3-2*x)/x),x=-4..4,y=-4..4, grid = [100,100],color=blue):
a2:=implicitplot(y=x*log((-2-1*x)/x),x=-4..4,y=-4..4, grid = [100,100],color=green):
a3:=implicitplot(y=x*log((4+3*x)/x),x=-4..4,y=-4..4, grid = [100,100],color=yellow):
a4:=implicitplot(y=x*log((8+5*x)/x),x=-4..4,y=-4..4, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameters a,b  we need twice to differentiate equation exp8:

>    dexp8:=diff(exp8,x);

dexp8 := `y'` = ln((a+b*x)/x)+x^2*(b/x-(a+b*x)/x^2)/(a+b*x)

>    ddexp8:=diff(dexp8,x);

ddexp8 := `y''` = 3*(b/x-(a+b*x)/x^2)/(a+b*x)*x+x^2*(-2*b/x^2+2*(a+b*x)/x^3)/(a+b*x)-x^2*(b/x-(a+b*x)/x^2)/(a+b*x)^2*b

>    c1:=solve({dexp8,ddexp8},{a,b});c1[1];op(2,c1[1]);

c1 := {a = -x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)), b = `y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))-Roo...
c1 := {a = -x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)), b = `y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))-Roo...

a = -x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))

-x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))

>    m:=subs(a=op(2,c1[1]), exp8); ode8:=subs(b=op(2,c1[2]),m);

m := y = x*ln((-x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+b*x)/x)

ode8 := y = x*ln((-x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+(`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))-...
ode8 := y = x*ln((-x*`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+x*RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2)*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))+(`y'`*exp(RootOf(`y''`*x+`y'`^2-2*`y'`*_Z+_Z^2))-...

>    dsolve(ode8);

y = x*ln(-(_C1*x-_C2)/x)

The solution is the original family of curves.

Example9

>    exp9:=y(x)=a*x^2+b/x;

exp9 := y = x^2*a+b/x

Graphs for ( a,b)=(-3, -2), (-2, -1), (4,3), (8,5) are plotted:

>    a1:=implicitplot(y=-3*x^2-2/x,x=-4..4,y=-4..4, grid = [100,100],color=blue):
a2:=implicitplot(y=-2*x^2-1/x,x=-4..4,y=-4..4, grid = [100,100],color=green):
a3:=implicitplot(y=4*x^2+3/x,x=-4..4,y=-4..4, grid = [100,100],color=yellow):
a4:=implicitplot(y=8*x^2+5/x,x=-4..4,y=-4..4, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

>    dexp9:=diff(exp9,x);

dexp9 := `y'` = 2*x*a-b/x^2

>    ddexp9:=diff(dexp9,x);

ddexp9 := `y''` = 2*a+2*b/x^3

>    c1:=solve({dexp9,ddexp9},{a,b});c1[1];op(2,c1[1]);

c1 := {b = -1/3*`y'`*x^2+1/3*`y''`*x^3, a = 1/6*(`y''`*x+2*`y'`)/x}

a = 1/6*(`y''`*x+2*`y'`)/x

1/6*(`y''`*x+2*`y'`)/x

>    m:=subs(a=op(2,c1[1]), exp9); ode9:=subs(b=op(2,c1[2]),m);

m := y = 1/6*x*(`y''`*x+2*`y'`)+b/x

ode9 := y = 1/6*x*(`y''`*x+2*`y'`)+(-1/3*`y'`*x^2+1/3*`y''`*x^3)/x

>    dsolve(ode9);

y = _C1/x+_C2*x^2

The solution is the original family of curves.

Example10

Here is an example of 3-parameter curves:

>    exp10:=y(x)=a*exp(2*x)+b*exp(-3*x)+c*exp(x);

exp10 := y = a*exp(2*x)+b*exp(-3*x)+c*exp(x)

Graphs for ( a,b,c)=(-3, -2,-2), (-2, -1,-3), (4,3,-10), (2,8,5) are plotted:

>    a1:=implicitplot(y=-3*exp(2*x)-2*exp(-3*x)-2*exp(x),x=-4..4,y=-40..40, grid = [100,100],color=blue):
a2:=implicitplot(y=-2*exp(2*x)-1*exp(-3*x)-3*exp(x),x=-4..4,y=-40..40, grid = [100,100],color=green):
a3:=implicitplot(y=4*exp(2*x)+3*exp(-3*x)-10*exp(x),x=-4..4,y=-40..40, grid = [100,100],color=yellow):
a4:=implicitplot(y=2*exp(2*x)+8*exp(-3*x)+5*exp(x),x=-4..4,y=-40..40, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

To find the parameters a,b,c  we need  to differentiate equation exp7 three times:

>    dexp10:=diff(exp10,x);

dexp10 := `y'` = 2*a*exp(2*x)-3*b*exp(-3*x)+c*exp(x)

>    ddexp10:=diff(dexp10,x);

ddexp10 := `y''` = 4*a*exp(2*x)+9*b*exp(-3*x)+c*exp(x)

>    dddexp10:=diff(ddexp10,x);

dddexp10 := `y'''` = 8*a*exp(2*x)-27*b*exp(-3*x)+c*exp(x)

>    c1:=solve({dexp10,ddexp10,dddexp10},{a,b,c});c1[1];op(2,c1[1]);

c1 := {c = -1/4*(`y'''`-6*`y'`+`y''`)/exp(x), a = 1/10*(`y'''`-3*`y'`+2*`y''`)/exp(x)^2, b = -1/30*`y'`*exp(x)^3-1/60*`y'''`*exp(x)^3+1/20*`y''`*exp(x)^3}

c = -1/4*(`y'''`-6*`y'`+`y''`)/exp(x)

-1/4*(`y'''`-6*`y'`+`y''`)/exp(x)

>    n:=subs(c=op(2,c1[1]), exp10);m:=subs(a=op(2,c1[2]), n); ode10:=subs(b=op(2,c1[3]),m);

n := y = a*exp(2*x)+b*exp(-3*x)-1/4*`y'''`+3/2*`y'`-1/4*`y''`

m := y = 1/10*(`y'''`-3*`y'`+2*`y''`)/exp(x)^2*exp(2*x)+b*exp(-3*x)-1/4*`y'''`+3/2*`y'`-1/4*`y''`

ode10 := y = 1/10*(`y'''`-3*`y'`+2*`y''`)/exp(x)^2*exp(2*x)+(-1/30*`y'`*exp(x)^3-1/60*`y'''`*exp(x)^3+1/20*`y''`*exp(x)^3)*exp(-3*x)-1/4*`y'''`+3/2*`y'`-1/4*`y''`

>    dsolve(ode10);

y = _C1*exp(-3*x)+_C2*exp(x)+_C3*exp(2*x)

The solution is the original family of curves.

Example11

Here is an example of 3-parameter curves:

>    exp11:=y(x)=(a+b*x+x^2/2)*exp(x)+c*sin(x);

exp11 := y = (a+b*x+1/2*x^2)*exp(x)+c*sin(x)

Graphs for ( a,b,c)=(-3, -2,-2), (-2, -1,-3), (4,3,-10), (2,8,5) are plotted:

>    a1:=implicitplot(y=(-3-2*x+x^2/2)*exp(x)-2*sin(x),x=-4..4,y=-40..40, grid = [100,100],color=blue):
a2:=implicitplot(y=(-2-1*x+x^2/2)*exp(x)-3*sin(x),x=-4..4,y=-40..40, grid = [100,100],color=green):
a3:=implicitplot(y=(4+3*x+x^2/2)*exp(x)-10*sin(x),x=-4..4,y=-40..40, grid = [100,100],color=yellow):
a4:=implicitplot(y=(2+8*x+x^2/2)*exp(x)+5*sin(x),x=-4..4,y=-40..40, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

>    dexp11:=diff(exp11,x);

dexp11 := `y'` = (b+x)*exp(x)+(a+b*x+1/2*x^2)*exp(x)+c*cos(x)

>    ddexp11:=diff(dexp11,x);

ddexp11 := `y''` = exp(x)+2*(b+x)*exp(x)+(a+b*x+1/2*x^2)*exp(x)-c*sin(x)

>    dddexp11:=diff(ddexp11,x);

dddexp11 := `y'''` = 3*exp(x)+3*(b+x)*exp(x)+(a+b*x+1/2*x^2)*exp(x)-c*cos(x)

>    c1:=solve({dexp11,ddexp11,dddexp11},{a,b,c});c1[1];op(2,c1[1]);

c1 := {b = -1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x), c = -1/2*(2*`y''`+exp(x)-`y'`-`y'''`)/sin(x), a = 1/2...
c1 := {b = -1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x), c = -1/2*(2*`y''`+exp(x)-`y'`-`y'''`)/sin(x), a = 1/2...
c1 := {b = -1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x), c = -1/2*(2*`y''`+exp(x)-`y'`-`y'''`)/sin(x), a = 1/2...

b = -1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x)

-1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x)

>    n:=subs(b=op(2,c1[1]), exp11);m:=subs(c=op(2,c1[2]), n); ode11:=subs(a=op(2,c1[3]),m);

n := y = (a-1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x)*x+1/2*x^2)*exp(x)+c*sin(x)

m := y = (a-1/2*(3*exp(x)*sin(x)+2*exp(x)*x*sin(x)+`y'`*sin(x)-`y'''`*sin(x)+2*cos(x)*`y''`+cos(x)*exp(x)-cos(x)*`y'`-cos(x)*`y'''`)/exp(x)/sin(x)*x+1/2*x^2)*exp(x)-`y''`-1/2*exp(x)+1/2*`y'`+1/2*`y'''`...

ode11 := y = (1/2*(3*exp(x)*sin(x)+3*`y'`*sin(x)-`y'''`*sin(x)+4*cos(x)*`y''`+2*cos(x)*exp(x)-2*cos(x)*`y'`-2*cos(x)*`y'''`+3*exp(x)*x*sin(x)+exp(x)*x^2*sin(x)+x*`y'`*sin(x)-x*`y'''`*sin(x)+2*x*cos(x)*...
ode11 := y = (1/2*(3*exp(x)*sin(x)+3*`y'`*sin(x)-`y'''`*sin(x)+4*cos(x)*`y''`+2*cos(x)*exp(x)-2*cos(x)*`y'`-2*cos(x)*`y'''`+3*exp(x)*x*sin(x)+exp(x)*x^2*sin(x)+x*`y'`*sin(x)-x*`y'''`*sin(x)+2*x*cos(x)*...
ode11 := y = (1/2*(3*exp(x)*sin(x)+3*`y'`*sin(x)-`y'''`*sin(x)+4*cos(x)*`y''`+2*cos(x)*exp(x)-2*cos(x)*`y'`-2*cos(x)*`y'''`+3*exp(x)*x*sin(x)+exp(x)*x^2*sin(x)+x*`y'`*sin(x)-x*`y'''`*sin(x)+2*x*cos(x)*...

>    dsolve(ode11);

y = exp(x)*(1/2*x^2+1/4*I*_C3*exp((-1+I)*x)-1/4*I*_C3*exp((-1-I)*x)+_C2*x+_C1)

The solution is the original family of curves, but looks a little different.

Example12

Now we find the differential equation of all the conic sections whose axes coincide with the coordinate axes:

>    exp12:=a*y(x)^2+b*x^2-1=0;

exp12 := a*y^2+b*x^2-1 = 0

Graphs for ( a,b)=(1, -2), (-2,1), (4,1), (2,5) are plotted:

>    a1:=implicitplot(1*y^2-2*x^2-1=0,x=-4..4,y=-4..4, grid = [100,100],color=blue):
a2:=implicitplot(-2*y^2+1*x^2-1=0,x=-4..4,y=-4..4, grid = [100,100],color=green):
a3:=implicitplot(4*y^2+1*x^2-1=0,x=-4..4,y=-4..4, grid = [100,100],color=yellow):
a4:=implicitplot(2*y^2+5*x^2-1=0,x=-4..4,y=-4..4, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

>    dexp12:=diff(exp12,x);

dexp12 := 2*a*y*`y'`+2*b*x = 0

>    ddexp12:=diff(dexp12,x);

ddexp12 := 2*a*`y'`^2+2*a*y*`y''`+2*b = 0

>    c1:=solve({exp12,dexp12},{a,b});c1[1];op(2,c1[1]);

c1 := {b = 1/x*`y'`/(x*`y'`-y), a = -1/(y*(x*`y'`-y))}

a = -1/(y*(x*`y'`-y))

-1/(y*(x*`y'`-y))

>    n:=subs(a=op(2,c1[1]), ddexp12); m:=subs(b=op(2,c1[2]), n); ode12:=simplify(m,symbolic);

n := -2/y/(x*`y'`-y)*`y'`^2-2/(x*`y'`-y)*`y''`+2*b = 0

m := -2/y/(x*`y'`-y)*`y'`^2-2/(x*`y'`-y)*`y''`+2/x*`y'`/(x*`y'`-y) = 0

ode12 := -2*(-y*`y'`+x*`y'`^2+x*y*`y''`)/y/(x*`y'`-y)/x = 0

>    dsolve(ode12);

y = (_C1*x^2+2*_C2)^(1/2), y = -(_C1*x^2+2*_C2)^(1/2)

The solution is the original two families of curves.

Example13

Find the differential equation of  the circles having their radii equal to r :

>    exp13:=y(x)^2+(x-a)^2-r^2=0;

exp13 := y^2+(x-a)^2-r^2 = 0

Graphs for ( a,r)=(-2, 2), (-1,2), (1,2), (2,2) are plotted:

>    a1:=implicitplot(y^2+(x+2)^2-2^2=0,x=-4..4,y=-4..4, grid = [100,100],color=blue):
a2:=implicitplot(y^2+(x+1)^2-2^2=0,x=-4..4,y=-4..4, grid = [100,100],color=green):
a3:=implicitplot(y^2+(x-1)^2-2^2=0,x=-4..4,y=-4..4, grid = [100,100],color=yellow):
a4:=implicitplot(y^2+(x-2)^2-2^2=0,x=-4..4,y=-4..4, grid = [100,100],color=red):
display(a1,a2,a3,a4);

[Maple Plot]

>    dexp13:=diff(exp13,x);

dexp13 := 2*y*`y'`+2*x-2*a = 0

>    c1:=solve(dexp13,a);

c1 := y*`y'`+x

>    ode13:=subs(a=c1, exp13);

ode13 := y^2+y^2*`y'`^2-r^2 = 0

>    dsolve(ode13);

y = r, y = -r, y = (-_C1^2+r^2-x^2+2*x*_C1)^(1/2), y = -(-_C1^2+r^2-x^2+2*x*_C1)^(1/2)

It easy to see that an envelope lines which touch the circles at  the top and bottom are also satisfy the differential equation.

Example14

Finaly, we find the differential equation for all logarithmic spirals around the origin.

>    exp14:=(y(x)^2+x^2)-a*exp(b*arctan(y(x)/x))=0;

exp14 := y^2+x^2-a*exp(b*arctan(y/x)) = 0

It is better to draw these curves for ( a,b)=( 1,1),(1,-1.5) in polar coordinates :

>    a1:=implicitplot(r^2=exp(theta),r=0..2,theta=-4*Pi..4*Pi, grid = [100,100],color=blue,coords=polar):
a2:=implicitplot(r^2=exp(-1.5*theta),r=0..4,theta=-4*Pi..4*Pi, grid = [100,100],color=red,coords=polar):
display(a1,a2);

[Maple Plot]

>    dexp14:=diff(exp14,x);

dexp14 := 2*y*`y'`+2*x-a*b*(`y'`/x-y/x^2)/(1+y^2/x^2)*exp(b*arctan(y/x)) = 0

>    ddexp14:=diff(dexp14,x);

ddexp14 := 2*`y'`^2+2*y*`y''`+2-a*b*(`y''`/x-2*`y'`/x^2+2*y/x^3)/(1+y^2/x^2)*exp(b*arctan(y/x))+a*b*(`y'`/x-y/x^2)/(1+y^2/x^2)^2*exp(b*arctan(y/x))*(2*y/x^2*`y'`-2*y^2/x^3)-a*b^2*(`y'`/x-y/x^2)^2/(1+y^...

>    c1:=solve({exp14,dexp14},{a,b});

c1 := {a = (x^2+y^2)/exp(-2*(y*`y'`+x)/(-`y'`*x+y)*arctan(y/x)), b = -2*(y*`y'`+x)/(-`y'`*x+y)}

>    c1[1];c1[2];

a = (x^2+y^2)/exp(-2*(y*`y'`+x)/(-`y'`*x+y)*arctan(y/x))

b = -2*(y*`y'`+x)/(-`y'`*x+y)

>    n:=subs(a=op(2,c1[1]), ddexp14); m:=subs(b=op(2,c1[2]),n); ode14:=simplify(m,symbolic);

n := 2*`y'`^2+2*y*`y''`+2-(x^2+y^2)/exp(-2*(y*`y'`+x)/(-`y'`*x+y)*arctan(y/x))*b*(`y''`/x-2*`y'`/x^2+2*y/x^3)/(1+y^2/x^2)*exp(b*arctan(y/x))+(x^2+y^2)/exp(-2*(y*`y'`+x)/(-`y'`*x+y)*arctan(y/x))*b*(`y'`...

m := 2*`y'`^2+2*y*`y''`+2+2*(x^2+y^2)*(y*`y'`+x)/(-`y'`*x+y)*(`y''`/x-2*`y'`/x^2+2*y/x^3)/(1+y^2/x^2)-2*(x^2+y^2)*(y*`y'`+x)/(-`y'`*x+y)*(`y'`/x-y/x^2)/(1+y^2/x^2)^2*(2*y/x^2*`y'`-2*y^2/x^3)-4*(x^2+y^2...

ode14 := 2*(`y''`*y^2+y*`y'`^2+y+`y''`*x^2-`y'`^3*x-`y'`*x)/(-`y'`*x+y) = 0

>    dsolve(ode14);

y = x*(exp(RootOf(-_Z*_C1-ln(x)*_C1+_C2-_C2*_C1+ln(-(2*I*_C1+exp(_Z)+2*I)*x)))+I+_C1*I)/(1+_C1)

The general solution is again the original family of curves, but it looks a little different.

Conclusion

The consideration of 1,2,3-parameter curves on the plane shows that each famaly of curves can be described as general solution of ODE. The solutions of these ODE sometimes contain not only the curves, but another solution, such as the envelope of the curves. The above ideas are generalized to the higher dimentional manifolds.  But this involes the partial differential equations, which will be considered in the other worksheet.

2003Kovalev