ODESOLVE INDEX

ODESOLVE _ _ _ _ _ _ _ _ _ _ _ _ operator

The odesolve package is a solver for ordinary differential equations. At the present time it has still limited capabilities:

1. it can handle only a single scalar equation presented as an algebraic expression or equation, and

2. it can solve only first-order equations of simple types, linear equations with constant coefficients and Euler equations.

These solvable types are exactly those for which Lie symmetry techniques give no useful information.

syntax:

odesolve(<expr>,<var1>,<var2>)

<expr> is a single scalar expression such that <expr>=0 is the ordinary differential equation (ODE for short) to be solved, or is an equivalent equation.

<var1> is the name of the dependent variable, <var2> is the name of the independent variable.

A differential in <expr> is expressed using the df operator. Note that in most cases you must declare explicitly <var1> to depend of <var2> using a depend declaration -- otherwise the derivative might be evaluated to zero on input to odesolve.

The returned value is a list containing the equation giving the general solution of the ODE (for simultaneous equations this will be a list of equations eventually). It will contain occurrences of the operator arbconst for the arbitrary constants in the general solution. The arguments of arbconst should be new. A counter !!arbconst is used to arrange this.

examples:


depend y,x;

% A first-order linear equation, with an initial condition

ode:=df(y,x) + y * sin x/cos x - 1/cos x$

odesolve(ode,y,x); 

  {y=arbconst(1)*cos(x) + sin(x)}