The application CONVODE, developped with the REDUCE language, solves a large spectre of problems as ordinary differential equations, partial differential equations, some systems of differential equations and Pfaff equations. The author, Alain MOUSSIAUX, tried to cover the classical methods as the determination of symmetry, integrating factors, series solutions.

CONVODE is not a "black box" and the user follows all the steps taken to provide a solution to a given problem, making it as an educational tool.

Member of the Physics Department of the University of Namur, Alain MOUSSIAUX was teaching general relativity, algebraic programming and analytical mechanics. Born in Huy in 1943, winner of the Academy of Sciences, one of the Belgian pioneers in the field of symbolic programming, he tries to combine mathematics, physics, programming, research and teaching.


You can try to solve an equation or a system of equations with Convode from this page.

Introduction

CONVODE is a REDUCE package written to solve differential equations (D.E.), systems of D.E, partial D.E and Pfaffian equations (Total D.E).

Most of the classical problems have been programmed but the package CONVODE is not a "Handbook of D.E."; it is a tool to compute a solution if the problem has one of the properties which may be detected by CONVODE. Series solution for second order D.E. as well as Legendre transformation and other methods have been included in the package.

CONVODE must not be used when "Analytical solutions" are not interesting, for example with too large systems of D.E.

When a problem is given to the package, CONVODE starts asking himself a series of questions about the given equation in order to find a property allowing its integration :

  • Is the D.E LINEAR, EXACT, SEPARABLE, HOMOGENEOUS of BERNOULLI type ?
  • Is it possible to find a classical integrating factor ?
  • ...

This way of working is the same for D.E. which are not of the first order and for P.D.E.

Thanks to the comments written by CONVODE, it may also be used to teach D.E, P.D.E and so on.

How to use CONVODE ?

CONVODE may be used via e-mail. The computations will be done on a dedicated server. After processing, the user will receive a new mail containing all the computations that CONVODE was able to do for him.

This facility may be used in the following way :

  1. Write a small REDUCE data file with the following lines :

    Example 1 (First order D.E.)

    NMAX:=3; %An integer (Search for polynomial solution of degree lower than NMAX)
    SMAX:=4; %An integer which fixes the number of terms in a series solution.
    LPARTI:={}; %An empty list or a list with a particular solution of a second order D.E. if you know one. In this case, the second solution is computed by Convode
    ARGSTOP:=2; %An integer lower than NMAX.
    DEPEND Y,X; %Y must depend of X !
    L1:={12*DF(Y,X)+5*Y**2=34*X**(-8/5)}; %A list with the equation(s)
    L2:={Y}; %A list with the unknow(s)
    L3:={X}; %A list with the independant variables
    L4:={}; %A list with the initial conditions or an empty list for the general solution.
    L5:={}; %If L5 is an empty list, the comments are written in french. If l5:={english}, the comments are in english
    CONVODE(L1,L2,L3,L4,L5); %The call for CONVODE

    Example 2 (P.D.E.)

    NMAX:=3;
    SMAX:=4;
    LPARTI:={};
    ARGSTOP:=2;
    DEPEND U,X;
    DEPEND U,Y;
    L2:={U};
    L3:={X,Y};
    L4:={};
    L5:={};
    L1:={Y**2*DF(U,X)-X*Y*DF(U,Y)-2*X*U=0};
    CONVODE(L1,L2,L3,L4,L5);

    Example 3 (System of D.E.)

    Here we are looking for a solution such as in U=0, X(0)=1, Y(0)=-1, Z(0)=2. This initial conditions are written in L4.

    NMAX:=3;
    SMAX:=4;
    LPARTI:={};
    ARGSTOP:=2;
    DEPEND X,U;
    DEPEND Y,U;
    DEPEND Z,U;
    L1:={DF(X,U)=Y+SIN U, DF(Y,U)=Z, DF(Z,U)=-Y+COS U};
    L2:={X,Y,Z};
    L3:={U};
    L4:={{1,-1,2},0};
    L5:={};
    CONVODE(L1,L2,L3,L4,L5);

    Example 4 (NON-LINEAR SECOND ORDER D.E.)

    NMAX:=1;
    SMAX:=3;
    LPARTI:={};
    ARGSTOP:=1;
    DEPEND W,Z;
    L1:={DF(W,Z,2)=(27*Z*DF(W,Z)**2+36*DF(W,Z)*LOG(Z)*Z*W**2-4*LOG(Z)**2*Z*W**4+24*W**3)/(36*Z*W)};
    L2:={W};
    L3:={Z};
    L4:={};
    L5:={};
    CONVODE(L1,L2,L3,L4,L5);

    Example 5 (PFAFF EQUATION)

    NMAX:=1;
    SMAX:=1;
    LPARTI:={};
    ARGSTOP:=1;
    L1:={X*DX+Y*DY+Z*DZ=0};
    L2:={};
    L3:={X,Y,Z};
    L4:={};
    L5:={};
    CONVODE(L1,L2,L3,L4,L5);

    Example 6 (DX/F=DY/G=DZ/H)

    F=F(X,Y,Z),G=G(X,Y,Z),H=H(X,Y,Z)

    NMAX:=1;
    SMAX:=1;
    LPARTI:={};
    ARGSTOP:=1;
    L1:={DX/(4*X-Y)=DY/(3*X-Z)=DZ/1};
    L2:={};
    L3:={X,Y,Z};
    L4:={};
    L5:={};
    CONVODE(L1,L2,L3,L4,L5);
  2. SEND this file to: convode@riemann.physmath.fundp.ac.be
  3. Or use the Convode online wizard

We hope that CONVODE will become for you a tool to deal with D.E. and P.D.E. Finally it is obvious that all D.E. and P.D.E. cannot be solved by CONVODE, but before using more elaborated methods a simple call for CONVODE will provide you a series of informations about your problem.


 
 

Responsable
Realized with the framework Webware, September 2004