\documentstyle[twoside]{article} \pagestyle{myheadings} \markboth{\hfil Appendix to: Computing Eigenvalues \hfil EJDE--1994/06}% {EJDE--1994/06\hfil H. I. Dwyer \& A. Zettl\hfil} \begin{document} \title{\vspace{-1in}\parbox{\linewidth}{\footnotesize\noindent {\sc Electronic Journal of Differential Equations}, Vol.\ {\bf 1994}(1994), No.\ 06, pp. 1--10. \newline ISSN: 1072-6691. URL: http://ejde.math.swt.edu or http://ejde.math.swt.edu \newline ftp (login: ftp) 147.26.103.110 or 129.120.3.113} \vspace{\bigskipamount} \\ Appendix to: \\ Computing Eigenvalues of Regular Sturm- Liouville Problems \thanks{Attached on January 9, 1996 to the article published on August 23, 1994.} \date{} \author{H. I. Dwyer \& A. Zettl} } \maketitle \begin{abstract} This appendix contains a remark about the scalar problem. It also shows a FORTRAN implementation of the algorithm discussed in the main article. \end{abstract} \section{Scalar Problems} If the original problem to be solved is scalar, that is, the coefficients are `matrices' of dimension~1, then the transformed, separated problem will be of dimension~2. In this case, it is possible to simplify the algorithm for solving separated matrix problems considerably, by taking advantage of the fact that there are simple formulas for the inverse and eigenvalues of 2x2 matrices. This allows the references to routines in a linear algebra library (such as NAG or IMSL) to be replaced by simple computational routines. Several other simplifications are also possible: \begin{enumerate} \item It becomes relatively simple to verify that the boundary conditions specified by the user are correct; the requirements for a self-adjoint problem as specified in Theorem~1 reduce to four simple tests. \item The initial value for the Theta matrix is easily computed `by-hand'. \item One of the difficulties encountered in the early attempts to implement the algorithm for separated matrix problems was caused by the use of a library routine to compute eigenvalues. The algorithm tracks changes in the eigenvalues, and this was made somewhat more difficult because the library routine did not return the list of eigenvalues in any predictable order. Thus, it was necessary to inspect the list, and `unshuffle' them if the order had been changed. Since the eigenvalues are now computed by formulas, rather by a library routine, they will always be listed in the same order, and the `unshuffle' step becomes unnecessary. \end{enumerate} % % \section{Sample FORTRAN Implementation} A simple FORTRAN implementation of the algorithm, as applied to scalar problems, is provided below. The user is required to edit the program and define the coefficient functions for the original, coupled problem. The code must then be compiled before it can be run. The coefficient functions in this sample listing correspond to Problem~b. The results using this implementation agree very well with the results obtained using the more general version of the code. Note: This particular version uses a basic Runge-Kutta method for the numerical integration. More advanced methods could certainly be used, but this simple approach has worked well enough during the initial testing. \bigskip The FORTRAN program can be found under the name \lq\lq Dwyer.fort" in the directory EJDE/Volumes/1994/06-Dwyer-Zettl/ \end{document}