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.
<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.
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)}