@@ -1,159 +1,159 @@ -\documentstyle[11pt,reduce]{article} -\date{} -\title{ODESOLVE} -\author{Malcolm A.H. MacCallum \\ Queen Mary and Westfield College, London \\ -Email: mm@maths.qmw.ac.uk \\[0.1in] -Other contributors: Francis Wright, Alan Barnes} -\begin{document} -\maketitle - -\index{ODESOLVE package} -\index{ordinary differential equations} -The ODESOLVE package is a solver for ordinary differential equations. -At the present time it has very limited capabilities, - -\begin{enumerate} -\item it can handle only a single scalar equation presented as an -algebraic expression or equation, and -\item it can solve only first-order equations of simple types, -linear equations with constant coefficients and Euler equations. -\end{enumerate} - -\noindent These solvable types are exactly those for -which Lie symmetry techniques give no useful information. - -\section{Use} -The only top-level function the user should normally invoke is: -\ttindex{ODESOLVE} - -\vspace{.1in} -\begin{tabbing} -{\tt ODESOLVE}(\=EXPRN:{\em expression, equation}, \\ -\>VAR1:{\em variable}, \\ -\>VAR2:{\em variable}):{\em list-algebraic} -\end{tabbing} -\vspace{.1in} - -\noindent {\tt ODESOLVE} returns a list containing an equation (like solve): - -\begin{description} -\item[EXPRN] is a single scalar expression such that EXPRN = 0 is the -ordinary differential equation (ODE for short) to be solved, -or is an equivalent equation. -\item[VAR1] is the name of the dependent variable. -\item[VAR2] is the name of the independent variable -\end{description} - -\noindent (For simplicity these will be called y and x in the sequel) -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 -\index{ARBCONST operator} -operator {\tt ARBCONST} for the arbitrary constants in the general solution. -The arguments of {\tt ARBCONST} should be new, as with {\tt ARBINT} etc. -in SOLVE. A counter {\tt !!ARBCONST} is used to arrange this (similar to the -way {\tt ARBINT} is implemented). - -Some other top-level functions may be of use elsewhere, especially: -\ttindex{SORTOUTODE} - -\vspace{.1in} -\noindent{\tt SORTOUTODE}(EXPRN:{\em algebraic}, Y:{\em var}, X:{\em var}): -{\em expression} -\vspace{.1in} - -\noindent which finds the order and degree of the EXPRN as a differential -equation for Y with respect to Y and sets the linearity and highest -derivative occurring in reserved variables ODEORDER, ODEDEGREE, -\ttindex{ODEORDER} \ttindex{ODEDEGREE} \ttindex{ODELINEARITY} -\ttindex{HIGHESTDERIV} -ODELINEARITY and HIGHESTDERIV. An expression equivalent to the ODE is -returned, or zero if EXPRN (equated to 0) is not an ODE in the -given vars. - -"The use of the function\ttindex{COFACTOR} - -\vspace{.1in} -\begin{tabbing} -{\tt COFACTOR}(\=ROW:{\em integer}, \\ -\>COLUMN:{\em integer}, \\ -\>MATRIX:{\em matrix}):{\em algebraic} -\end{tabbing} -\vspace{.1in} - -\noindent which uses variation of parameters, returns the cofactor of the -element in row ROW and column COLUMN of the matrix MATRIX. Errors occur -if ROW or COLUMN do not simplify to integer expressions or if MATRIX is -not square. - -\section{Tracing} - - -Some rudimentary tracing is provided and is activated by the switch TRODE -\index{tracing ! ODESOLVE} -\ttindex{TRODE} -(analogous to TRFAC and TRINT) - -\section{Comments} - -The intention in the long run is to develop a rather general and -powerful ordinary differential equation solver incorporating the -methods detailed below. At present the program has not been optimized -for efficiency and much work remains to be done to convert algebraic -mode procedures to more efficient symbolic mode replacements. - -No attempt is made to extend the REDUCE integrator, although this is -in some sense a problem of ODEs. Thus the equation $\frac{dy}{dx} = g(x)$ will -be solved if and only if $\int g(x) dx$ succeeds. - -The available and planned coverage is as follows: - -\begin{itemize} -\item First-order equations: (first degree unless otherwise stated) - -\begin{itemize} -\item Quadrature of $\frac{df}{dx} = g(x)$ -\item Linear equations -\item Separable equations -\item (Algebraically) homogeneous equations -\item Equations reducible to the previous case by linear transformations -\item Exact equations -\item Bernoulli equations -\end{itemize} - -The above are already implemented. Further 1st order cases are not: -\begin{itemize} -\item Riccati equations using Schmidt's methods and other special cases -\item Hypotheses on the integrating factor following Char (SYMSAC 81) -or Shtokhamer, Glinos and Caviness. -\item Higher degree cases -\end{itemize} -\item Linear equations of higher order -\begin{itemize} -\item Constant coefficients case for driving terms solvable by -variation of parameters using the integrator -(Choice of method is discussed in the source of module lccode). -\end{itemize} -The above is already implemented. Further higher order methods are not: -\begin{itemize} -\item More complex driving terms via Laplace transforms (?) -\item Variable coefficients: Watanabe (EUROSAM 84) methods -including Kovacic's algorithm as extended by Singer -\item Factorization of operators as in Schwarz's ISSAC-89 paper or -Berkovich's 1990 book -\item Other methods based on Galois theory (see Ulmer's preprints -from Karlsruhe, 1989, 1990 and Singer's 1989 review) or -other ways of hunting Liouvillian solutions (see Singer's -review in J. Symb. Comp., 1990). -\end{itemize} -\item Non-linear equations of order 2 and higher -\begin{itemize} -\item Lie algebra of point symmetries e.g. using Wolf's CRACK now available -in REDUCE -\item Other special ansatze (see Wolf. op. cit), in particular -contact transformations for 2nd order cases -\end{itemize} -\item Possibly (?) exploitation of Cartan's methods for equivalence of -differential equations. -\end{itemize} -\end{document} +\documentstyle[11pt,reduce]{article} +\date{} +\title{ODESOLVE} +\author{Malcolm A.H. MacCallum \\ Queen Mary and Westfield College, London \\ +Email: mm@maths.qmw.ac.uk \\[0.1in] +Other contributors: Francis Wright, Alan Barnes} +\begin{document} +\maketitle + +\index{ODESOLVE package} +\index{ordinary differential equations} +The ODESOLVE package is a solver for ordinary differential equations. +At the present time it has very limited capabilities, + +\begin{enumerate} +\item it can handle only a single scalar equation presented as an +algebraic expression or equation, and +\item it can solve only first-order equations of simple types, +linear equations with constant coefficients and Euler equations. +\end{enumerate} + +\noindent These solvable types are exactly those for +which Lie symmetry techniques give no useful information. + +\section{Use} +The only top-level function the user should normally invoke is: +\ttindex{ODESOLVE} + +\vspace{.1in} +\begin{tabbing} +{\tt ODESOLVE}(\=EXPRN:{\em expression, equation}, \\ +\>VAR1:{\em variable}, \\ +\>VAR2:{\em variable}):{\em list-algebraic} +\end{tabbing} +\vspace{.1in} + +\noindent {\tt ODESOLVE} returns a list containing an equation (like solve): + +\begin{description} +\item[EXPRN] is a single scalar expression such that EXPRN = 0 is the +ordinary differential equation (ODE for short) to be solved, +or is an equivalent equation. +\item[VAR1] is the name of the dependent variable. +\item[VAR2] is the name of the independent variable +\end{description} + +\noindent (For simplicity these will be called y and x in the sequel) +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 +\index{ARBCONST operator} +operator {\tt ARBCONST} for the arbitrary constants in the general solution. +The arguments of {\tt ARBCONST} should be new, as with {\tt ARBINT} etc. +in SOLVE. A counter {\tt !!ARBCONST} is used to arrange this (similar to the +way {\tt ARBINT} is implemented). + +Some other top-level functions may be of use elsewhere, especially: +\ttindex{SORTOUTODE} + +\vspace{.1in} +\noindent{\tt SORTOUTODE}(EXPRN:{\em algebraic}, Y:{\em var}, X:{\em var}): +{\em expression} +\vspace{.1in} + +\noindent which finds the order and degree of the EXPRN as a differential +equation for Y with respect to Y and sets the linearity and highest +derivative occurring in reserved variables ODEORDER, ODEDEGREE, +\ttindex{ODEORDER} \ttindex{ODEDEGREE} \ttindex{ODELINEARITY} +\ttindex{HIGHESTDERIV} +ODELINEARITY and HIGHESTDERIV. An expression equivalent to the ODE is +returned, or zero if EXPRN (equated to 0) is not an ODE in the +given vars. + +"The use of the function\ttindex{COFACTOR} + +\vspace{.1in} +\begin{tabbing} +{\tt COFACTOR}(\=ROW:{\em integer}, \\ +\>COLUMN:{\em integer}, \\ +\>MATRIX:{\em matrix}):{\em algebraic} +\end{tabbing} +\vspace{.1in} + +\noindent which uses variation of parameters, returns the cofactor of the +element in row ROW and column COLUMN of the matrix MATRIX. Errors occur +if ROW or COLUMN do not simplify to integer expressions or if MATRIX is +not square. + +\section{Tracing} + + +Some rudimentary tracing is provided and is activated by the switch TRODE +\index{tracing ! ODESOLVE} +\ttindex{TRODE} +(analogous to TRFAC and TRINT) + +\section{Comments} + +The intention in the long run is to develop a rather general and +powerful ordinary differential equation solver incorporating the +methods detailed below. At present the program has not been optimized +for efficiency and much work remains to be done to convert algebraic +mode procedures to more efficient symbolic mode replacements. + +No attempt is made to extend the REDUCE integrator, although this is +in some sense a problem of ODEs. Thus the equation $\frac{dy}{dx} = g(x)$ will +be solved if and only if $\int g(x) dx$ succeeds. + +The available and planned coverage is as follows: + +\begin{itemize} +\item First-order equations: (first degree unless otherwise stated) + +\begin{itemize} +\item Quadrature of $\frac{df}{dx} = g(x)$ +\item Linear equations +\item Separable equations +\item (Algebraically) homogeneous equations +\item Equations reducible to the previous case by linear transformations +\item Exact equations +\item Bernoulli equations +\end{itemize} + +The above are already implemented. Further 1st order cases are not: +\begin{itemize} +\item Riccati equations using Schmidt's methods and other special cases +\item Hypotheses on the integrating factor following Char (SYMSAC 81) +or Shtokhamer, Glinos and Caviness. +\item Higher degree cases +\end{itemize} +\item Linear equations of higher order +\begin{itemize} +\item Constant coefficients case for driving terms solvable by +variation of parameters using the integrator +(Choice of method is discussed in the source of module lccode). +\end{itemize} +The above is already implemented. Further higher order methods are not: +\begin{itemize} +\item More complex driving terms via Laplace transforms (?) +\item Variable coefficients: Watanabe (EUROSAM 84) methods +including Kovacic's algorithm as extended by Singer +\item Factorization of operators as in Schwarz's ISSAC-89 paper or +Berkovich's 1990 book +\item Other methods based on Galois theory (see Ulmer's preprints +from Karlsruhe, 1989, 1990 and Singer's 1989 review) or +other ways of hunting Liouvillian solutions (see Singer's +review in J. Symb. Comp., 1990). +\end{itemize} +\item Non-linear equations of order 2 and higher +\begin{itemize} +\item Lie algebra of point symmetries e.g. using Wolf's CRACK now available +in REDUCE +\item Other special ansatze (see Wolf. op. cit), in particular +contact transformations for 2nd order cases +\end{itemize} +\item Possibly (?) exploitation of Cartan's methods for equivalence of +differential equations. +\end{itemize} +\end{document}