odesolve.tex 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. \chapter[ODESOLVE: Ordinary differential eqns]%
  2. {ODESOLVE: \protect\\ Ordinary differential equations solver}
  3. \label{ODESOLVE}
  4. \typeout{[ODESOLVE: Ordinary differential equations solver]}
  5. {\footnotesize
  6. \begin{center}
  7. Malcolm A.H. MacCallum \\
  8. School of Mathematical Sciences, Queen Mary and Westfield College \\
  9. University of London \\
  10. Mile End Road \\
  11. London E1 4NS, England \\[0.05in]
  12. e--mail: mm@maths.qmw.ac.uk
  13. \end{center}
  14. }
  15. \ttindex{ODESOLVE}
  16. \index{ordinary differential equations}
  17. The ODESOLVE package is a solver for ordinary differential equations.
  18. At the present time it has very limited capabilities,
  19. \begin{enumerate}
  20. \item it can handle only a single scalar equation presented as an
  21. algebraic expression or equation, and
  22. \item it can solve only first-order equations of simple types,
  23. linear equations with constant coefficients and Euler equations.
  24. \end{enumerate}
  25. \noindent These solvable types are exactly those for
  26. which Lie symmetry techniques give no useful information.
  27. \section{Use}
  28. The only top-level function the user should normally invoke is:
  29. \ttindex{ODESOLVE}
  30. \vspace{.1in}
  31. \begin{tabbing}
  32. {\tt ODESOLVE}(\=EXPRN:{\em expression, equation}, \\
  33. \>VAR1:{\em variable}, \\
  34. \>VAR2:{\em variable}):{\em list-algebraic}
  35. \end{tabbing}
  36. \vspace{.1in}
  37. \noindent {\tt ODESOLVE} returns a list containing an equation (like solve):
  38. \begin{description}
  39. \item[EXPRN] is a single scalar expression such that EXPRN = 0 is the
  40. ordinary differential equation (ODE for short) to be solved,
  41. or is an equivalent equation.
  42. \item[VAR1] is the name of the dependent variable.
  43. \item[VAR2] is the name of the independent variable
  44. \end{description}
  45. \noindent (For simplicity these will be called y and x in the sequel)
  46. The returned value is a list containing the equation giving the
  47. general solution of the ODE (for simultaneous equations this will be a
  48. list of equations eventually). It will contain occurrences of the
  49. \index{ARBCONST operator}
  50. operator {\tt ARBCONST} for the arbitrary constants in the general
  51. solution. The arguments of {\tt ARBCONST} should be new, as with {\tt
  52. ARBINT} etc. in SOLVE. A counter {\tt !!ARBCONST} is used to arrange
  53. this (similar to the way {\tt ARBINT} is implemented).
  54. Some other top-level functions may be of use elsewhere, especially:
  55. \ttindex{SORTOUTODE}
  56. \vspace{.1in}
  57. \noindent{\tt SORTOUTODE}(EXPRN:{\em algebraic}, Y:{\em var}, X:{\em var}):
  58. {\em expression}
  59. \vspace{.1in}
  60. \noindent which finds the order and degree of the EXPRN as a
  61. differential equation for Y with respect to Y and sets the linearity
  62. and highest derivative occurring in reserved variables ODEORDER,
  63. ODEDEGREE,\ttindex{ODEORDER}\ttindex{ODEDEGREE}\ttindex{ODELINEARITY}\ttindex{HIGHESTDERIV}ODELINEARITY
  64. and HIGHESTDERIV. An expression equivalent to the ODE is
  65. returned, or zero if EXPRN (equated to 0) is not an ODE in the
  66. given variables.
  67. \section{Commentary}
  68. The methods used by this package are described in detail in the full
  69. documentation, which should be inspected together with the examples
  70. file.