As is typical of all branches of analysis, differential equations should be studied in the complex domain. However, programming languages duch as FORTRAN or C have traditionally encountered problems when being asked to deal with complex numbers and even if that were not so, the increased running time and memory requirements work against their use. Fortunately, a large part of the results which one requires can already be obtained in the real domain.
There are numerous books on differential equation theory. One which treats spectral theory in more detail than most is Coddington and Levinson . Another, which has good material relevant to second order equations in the phase plane is Hartman .
SERO is based on the reduction of a second order linear differential equation to a pair of first order equations written in matrix form, a format from which it can evidently handle any other pair of first order equations, such as a one dimensional Dirac equation, whatever their origin. In other words, it considers matrix differential equations of the form
SERO groups these elements into a ``potential matrix'' which is predefined in the program, of which one of several is selectable by a REC operator. No use has been made of a run-time compiler, even one such as YACC, so the coefficient matrix must be foreseen and provided for before running the program.
All numerical integration is carried out by either a fourth order Runge-Kutta program, or a sixth order program. It is a general custom for programs to restrict themselves to the fourth; for one thing, it is counterproductive to choose a step size greater than the graphing interval (otherwise supplementary interpolation is required), so there is no point to using high order methods to advance the solution point rapidly. For another, the fourth order method is a good break-even point for increased accuracy versus increased complexity of computation.