\documentclass[twoside]{article} \usepackage{amssymb} % used for R in Real numbers \usepackage{epsf} % used for two PostScript figures \pagestyle{myheadings} \markboth{\hfil Fifth-order Runge-Kutta \hfil}% {\hfil David Goeken \& Olin Johnson \hfil} \begin{document} \title{\vspace{-1in}\parbox{\linewidth}{\footnotesize\noindent {\sc 15th Annual Conference of Applied Mathematics, Univ. of Central Oklahoma,} \hfill\break Electronic Journal of Differential Equations, Conference~02, 1999, pp. 1--9. \newline ISSN: 1072-6691. URL: http://ejde.math.swt.edu or http://ejde.math.unt.edu \newline ftp ejde.math.swt.edu (login: ftp)} \vspace{\bigskipamount} \\ Fifth-order Runge-Kutta with higher order derivative approximations \thanks{ {\em 1991 Mathematics Subject Classifications:} 65L06. \hfil\break\indent {\em Key words and phrases:} multistep Runge-Kutta, third-order method, \hfil\break\indent fourth-order method, fifth-order method, higher order derivatives. \hfil\break\indent \copyright 1999 Southwest Texas State University and University of North Texas. \hfil\break\indent Published November 23, 1999.} } \date{} \author{David Goeken \& Olin Johnson} \maketitle \begin{abstract} Given $y'=f(y)$, standard Runge-Kutta methods perform multiple evaluations of $f(y)$ in each integration sub-interval as required for a given accuracy. Evaluations of $y''=f_{y}f$ or higher derivatives are not considered due to the assumption that the calculations involved in these functions exceed those of $f$. However, $y''$ can be approximated to sufficient accuracy from past and current evaluations of $f$ to achieve a higher order of accuracy than is available through current functional evaluations alone. In July of 1998 at the ANODE (Auckland Numerical Ordinary Differential Equations) Workshop, we introduced a new class of Runge-Kutta methods based on this observation (Goeken~1999). We presented a third-order method which requires only two evaluations of $f$ and a fourth-order method which requires three. This paper reviews these two methods and gives the general solution to the equations generated by the fifth-order methods of this new class. Interestingly, these fifth-order methods require only four functional evaluations per step whereas standard Runge-Kutta methods require six. \end{abstract} \section{Third-order method} We consider initial value problems expressed in autonomous form. Starting with the non-autonomous form, we assume that $f(x,y)$ is a continuous function with domain $D$ in ${\mathbb R}^{n+1}$ where $x\in{\mathbb R}$, $y\in{\mathbb R}^n$ and $(x,y)\in D$ We assume that $$\|f(x,y_1)-f(x,y_2)\|_2\le L\|y_1-y_2\|_2$$ for all $(x,y_1)$, $(x,y_2)\in D$; thus the problem $$\displaylines{ y'=f(x,y) \cr y(x_{0})=y_{0} with (x_{0},y_{0})\in D\cr}$$ has a unique solution. In autonomous form, $y$ and $f$ have $n+1$ components with $y_{n+1}=x$ and $f_{n+1}(y)=1$. The initial value problem is then written $$\displaylines{ y'=f(y)\cr y(x_{0})=y_{0} where (y_{0})_{n+1}=x_{0}\,.\cr}$$ Most efforts to increase the order of the Runge-Kutta methods have been accomplished by increasing the number of Taylor's series terms used and thus the number of functional evaluations required (Butcher~1987) (Gear~1971). The use of higher order derivative terms has been proposed for stiff problems (Rosenbrock~1963) (Enright~1974). Our method adds higher order derivative terms to the Runge-Kutta $k_{i}$ terms ($i>1$) to achieve a higher order of accuracy. For example, our new third-order method, GJ3, for autonomous systems, lets $$y_{n+1}=y_{n}+b_1k_1+b_2k_2$$ and $k_1=hf(y_{n})$. However, we introduce additional terms by assigning $$k_2=hf(y_{n}+a_{21}k_1+ha_{22}f_{y}(y_{n})k_1)$$ Using Taylor's series expansion techniques, the above is uniquely satisfied to $O(h^3)$ as follows \begin{eqnarray*} k_1&=&hf(y_{n}) \\ k_2&=&hf(y_{n}+\frac{2}{3}k_1+\frac{2}{9}hf_{y}(y_{n})k_1) \\ y_{n+1}&=&y_{n}+{1\over 4}k_1+{3\over 4}k_2 \end{eqnarray*} \section{Utilizing $f_{y}$} The previous section developed a two-stage, third-order method; however, it introduced a term with $f_{y}$. The result is the addition of a higher derivative term to the standard Runge-Kutta method. The following describes three methods to utilize $f_{y}$. \paragraph{Method 1:} If one knows or can generate $f_{y}$, and if the evaluation of $f_{y}$ is cheaper than the evaluation of $f$, then savings can be realized. For example, with a linear system of equations, $y'=Ay$, $f_{y}$ is known and constant. \paragraph{Method 2:} Since $y''=f'=f_{y}f$ for autonomous equations, and since $k_1=hf$, $k_2$ can be replaced with \begin{eqnarray*} k_2&=&hf(y_{n}+{2\over 3}k_1+{2\over 9}hf_{y}k_1) \\ &=&hf(y_{n}+{2\over 3}k_1+{2\over 9}hf_{y}hf) \\ &=&hf(y_{n}+{2\over 3}k_1+{2\over 9}h^2f_{y}f) \\ &=&hf(y_{n}+{2\over 3}k_1+{2\over 9}h^2f') \end{eqnarray*} or $$k_2=hf(y_{n}+{2\over 3}k_1+{2\over 9}h^2y'')\,.$$ Again, savings can be realized if one can formulate $y''$ (or $f'$) and if it is cheaper to evaluate than $f$. \paragraph{Method 3:} Building onto Method 2, one can approximate $y''$ (or $f'$) by using the current and previous evaluations of $f$. For our third-order method, this approximation must be of $O(h)$. Since an $O(h)$ approximation of $f'$ is given by $f'=(f_{n}-f_{n-1})/h$, one can approximate $k_2$ as follows \begin{eqnarray*} k_2&=&hf(y_{n}+{2\over 3}k_1+{2\over 9}h^2f') \\ &=&hf(y_{n}+{2\over 3}k_1+{2\over 9}h^2(f_{n}-f_{n-1})/h) \\ &=&hf(y_{n}+{2\over 3}k_1+{2\over 9}h(f_{n}-f_{n-1})) \end{eqnarray*} Since $f_{n}$ is calculated in the current step in the evaluation of $k_1$, one only has to store the previous value, $f_{n-1}$. In effect, the use of previous values for the approximation has created a multistep Runge-Kutta method. \section{Fourth-order method} Similarly, our fourth-order method, GJ4, for autonomous systems, lets $$y_{n+1}=y_{n}+b_1k_1+b_2k_2+b_3k_3$$ and \begin{eqnarray*} k_1&=&hf(y_{n}) \\ k_2&=&hf(y_{n}+a_{21}k_1+ha_{22}f_{y}(y_{n})k_1) \\ k_3&=&hf(y_{n}+a_{31}k_1+a_{32}k_2+ha_{33}f_{y}(y_{n})k_1 +ha_{34}f_{y}(y_{n})k_2) \end{eqnarray*} The Taylor's series expansion of these higher order methods is tedious and error prone. We used modern symbolic math packages to expand and then to solve the resulting systems of nonlinear equations that were generated. In this work, we used the symbolic math packages Reduce~(Reduce 1999), PARI/GP~(PARI/GP 1999), and Octave~(Eaton 1997). PARI/GP was used to generate the Taylor's series expansion of the above, resulting in the following system of equations $$\displaylines{ b_1+b_2+b_3=1 \cr b_2a_{21}+b_3[a_{31}+a_{32}]=1/2 \cr b_2a_{21}^2+b_3[a_{31}+a_{32}]^2=1/3 \cr b_2a_{21}^3+b_3[a_{31}+a_{32}]^3=1/4 \cr b_2a_{22}+b_3[a_{21}a_{32}+a_{33}+a_{34}]=1/6 \cr b_3[a_{21}a_{34}+a_{22}a_{32}]=1/24 \cr b_2a_{21}a_{22}+b_3[{a_{21}a_{32}(\frac{1}{2}a_{21} +a_{31}+a_{32})+(a_{31}+a_{32})(a_{33}+a_{34})}]=1/6 \cr }$$ However, in order to utilize Methods 2 and 3 of Section 2, we must restrict the solution with $a_{34}=0$. The general solution to the above system of equations (with $a_{34}=0$) has been found with Reduce and example solutions are shown in Table 1. \begin{table}[ht] \caption{Example of fourth-order autonomous solutions} \begin{center} \begin{tabular}{|c|c|c|c|c|c|c|c|} \hline $b_1$&$b_2$&$b_3$&$a_{21}$&$a_{22}$&$a_{31}$&$a_{32}$&$a_{33}$\\ \hline $1/6$&$1/6$&$2/3$&1&\hspace{1em}$1/2$&\hspace{1em}$3/8$&$\hspace{1ex}1/8$&\hspace{1em}0\\ $1/6$&$2/3$&$1/6$&$1/2$&\hspace{1em}$1/8$&\hspace{1em}-{1}&\hspace{1em}2&$-{1/2}$\\ $1/6$&$2/3$&$1/6$&$1/2$&$-{1/8}$&\hspace{1em}3&\hspace{1ex}-{2}&\hspace{1em}$5/2$\\ $1/10$&$1/2$&$2/5$&$1/3$&$\hspace{1em}1/18$&$-{25/24}$&$15/8$&$\hspace{1em}-{5/18}$\\ $1/10$&$1/2$&$2/5$&$1/3$&$-{1/6}$&$\hspace{1em}35/24$&$-{5/8}$&$\hspace{1em}5/6$\\ \hline \end{tabular} \end{center} \end{table} \section{Fifth-order method } In July of 1998, the authors presented (Goeken~1999) this numerical integration technique at a meeting attended by Dr.\ John~Butcher. Using his tree-based approach (Butcher~1987), Dr.\ Butcher suggested a fifth-order method. Since the meeting, his technique has been verified using Taylor's series expansion techniques to determine the general solution for our fifth-order methods. Our fifth-order method, GJ5, for autonomous systems, lets $$y_{n+1}=y_{n}+b_1k_1+b_2k_2+b_3k_3+b_4k_4$$ and \begin{eqnarray*} k_1&=&hf(y_{n}) \\ k_2&=&hf(y_{n}+a_{21}k_1+ha_{22}f_{y}(y_{n})k_1) \\ k_3&=&hf(y_{n}+a_{31}k_1+a_{32}k_2+ha_{33}f_{y}(y_{n})k_1) \\ k_4&=&hf(y_{n}+a_{41}k_1+a_{42}k_2+a_{43}k_3+ha_{44}f_{y}(y_{n})k_1) \end{eqnarray*} PARI/GP was used to generate the Taylor's series expansion of the above, resulting in the following system of equations $$\displaylines{ b_1+b_2+b_3+b_4=1 \cr b_2a_{21}+b_3[a_{31}+a_{32}]+b_4[a_{41}+a_{42}+a_{43}]=1/2 \cr b_2a_{21}^2+b_3[a_{31}+a_{32}]^2+b_4[a_{41}+a_{42}+a_{43}]^2=1/3 \cr b_2a_{22}+b_3[a_{21}a_{32}+a_{33}]+b_4[a_{21}a_{42}+a_{43}(a_{31}+a_{32}) +a_{44}]=1/6 \cr b_2a_{21}^3+b_3[a_{31}+a_{32}]^3+b_4[a_{41}+a_{42}+a_{43}]^3=1/4 \cr b_2a_{21}a_{22}+ b_3[{1\over 2}a_{21}^2a_{32}+(a_{31}+a_{32})(a_{21}a_{32}+a_{33})]+ {1\over 2}b_4[a_{21}^2a_{42} \cr +a_{43}(a_{31}+a_{32})^2+ 2(a_{41}+a_{42}+a_{43})(a_{21}a_{42}+(a_{31}+a_{32})a_{43}+a_{44})]=1/6 \cr b_3a_{22}a_{32}+b_4[a_{21}a_{32}a_{43}+a_{22}a_{42}+a_{33}a_{43}]=1/24 \cr b_2a_{21}^{4}+b_3[a_{31}+a_{32}]^{4}+b_4[a_{41}+a_{42}+a_{43}]^{4}=1/5 \cr 3b_2a_{21}^2a_{22}+ b_3[a_{21}^3a_{32}+3(a_{31}+a_{32})^2(a_{21}a_{32}+a_{33})]+ b_4[a_{21}^3a_{42} \cr +(a_{31}+a_{32})^3a_{43}+ 3(a_{41}+a_{42}+a_{43})^2(a_{21}a_{42}+(a_{31}+a_{32})a_{43}+a_{44})]=7/20 \cr b_3a_{21}^2a_{32}(a_{31}+a_{32})+ b_4[(a_{41}+a_{42}+a_{43})(a_{21}^2a_{42}+(a_{31}+a_{32})^2a_{43})]=1/15 \cr {1\over 2}b_2a_{22}^2+ b_3[a_{21}a_{32}({1\over 2}a_{21}a_{32}+a_{22}+a_{33})+ a_{22}a_{32}(a_{31}+a_{32})+{1\over 2}a_{33}^2] \cr +b_4[{1\over 2}a_{21}^2(a_{32}a_{43}+a_{42}^2)+ (a_{31}+a_{32})(a_{21}(a_{32}a_{43}+a_{42}a_{43})+a_{43}(a_{33}+a_{44})\cr +{1\over 2}(a_{31}+a_{32})a_{43}^2)+ a_{21}a_{42}(a_{22}+a_{44})+(a_{21}a_{32}a_{43}+a_{22}a_{42}\cr +a_{33}a_{43})(a_{41}+a_{42}+a_{43})+ {1\over 2}a_{44}^2]=11/120 \cr b_4a_{22}a_{32}a_{43}=1/120 \cr}$$ The solution presented by Dr.\ Butcher and verified using the above system of equations is \begin{eqnarray*} k_1&=&hf(y_{n}) \\ k_2&=&hf(y_{n}+{1\over 3}k_1+{1\over 18}hf_{y}k_1) \\ k_3&=&hf(y_{n}-{152\over 125}k_1+{252\over 125}k_2-{44\over 125}hf_{y}k_1) \\ k_4&=&hf(y_{n}+{19\over 2}k_1-{72\over 7}k_2+{25\over 14}k_3+{5\over 2}hf _{y}k_1) \\ y_{n+1}&=&y_{n}+{5\over 48}k_1+{27\over 56}k_2+{125\over 336}k_3+{1\over 24 }k_4 \\ \end{eqnarray*} Additional solutions to the above nonlinear system of equations have been found using Octave. Three additional solutions are shown in Table 2. \begin{table}[ht] \caption{Example of fifth-order autonomous solutions} \begin{center} \begin{tabular}{|l|c|c|c|} \hline $b_1$&1/24&5/54&1/14 \\ \hline $b_2$&125/336&250/567&32/81 \\ \hline $b_3$&27/56&32/81&250/567 \\ \hline $b_4$&5/48&1/14&5/54 \\ \hline $a_{21}$&1/5&3/10&1/4 \\ \hline $a_{22}$&1/50&9/200&1/32 \\ \hline $a_{31}$&-52/27&-9/8&-329/250 \\ \hline $a_{32}$&70/27&15/8&252/125 \\ \hline $a_{33}$&-8/27&-9/32&-259/1000 \\ \hline $a_{41}$&43/5&17/3&209/35 \\ \hline $a_{42}$&-64/7&-490/81&-32/5 \\ \hline $a_{43}$&54/35&112/81&10/7 \\ \hline $a_{44}$&13/10&23/18&11/10 \\ \hline \end{tabular} \end{center} \end{table} \section{Numerical results} To demonstrate that the new methods are of the order claimed, several equations have been solved using the new third-, fourth-, and fifth-order method on scalar autonomous equations, systems of autonomous equations, and scalar non-autonomous equations. Our previous paper (Goeken~1999) demonstrated the third- and fourth-order methods utilizing $f_{y}$ and the approximation to $f'$. Here we will concentrate on our new fifth-order method. For scalar autonomous examples, we use the equations shown in Table 3, with initial condition $y(0)=1$. These equations were solved using a standard fifth-order Runge-Kutta method along with our fifth-order method, GJ5, using $f_{y}$ directly. Relative error was plotted against the step size and is shown in Figures 1 and 2. Results are comparable to standard fifth-order Runge-Kutta solution, thus demonstrating our claim. The new method requires four functional evaluations of $f$ and one of $f_{y}$ per step or four functional evaluations of $f$ and three historical values of $f$; whereas, the standard fifth-order Runge-Kutta method requires six functional evaluations of $f$. \begin{table} \caption{Test problems} \begin{center} \begin{tabular}{|l|l|c|} \hline Function & Solution &$y(0)$\\ \hline $y'=-y$ & $y=e^{-t}$ & 1\\ $y'={y\over{4}}-{y^2\over{80}}$ &$y={20\over{1+19e^{-t\over{4}}}}$ & 1\\ \hline \end{tabular} \end{center} \end{table} \section{Conclusions} New third-, fourth-, and fifth-order numerical integration techniques inspired by the Runge-Kutta method have been presented. The new methods exploit the use of higher order derivatives, specificly $f_{y}$. In particular, a technique utilizing an approximation to $y''$ has been presented resulting in a multistep Runge-Kutta method. Table 4 compares the computational effort required for standard Runge-Kutta methods with our methods. Table 4 shows the cases where the proposed methods are more efficient than the standard Runge-Kutta methods. Specifically, the proposed methods are more efficient for cases where \begin{itemize} \item $f_{y}$ or $y''$ is cheaper to evaluate than $f$, \item the use of historical values of $f$ is cheaper then evaluating $f$, and \item for the fifth-order case, the number of total functional evaluations can be reduced from 6 to 4 when using an approximation of $f'$. \end{itemize} \begin{table}[ht] \caption{Number of evaluations comparison} \begin{center} \begin{tabular}{|c|c|c|c|c|c|} \hline &Standard& \multicolumn{2}{c|}{Proposed Method}& \multicolumn{2}{c|}{Proposed Method} \\ &Runge-Kutta& \multicolumn{2}{c|}{Exact $f_y$}& \multicolumn{2}{c|}{Approximating $f'$} \\ \cline{2-6} &Num. $f$&Num. $f$&Num. $f_y$&Num. $f$&Num. $f_{n-i}$\\ Order&Evals.&Evals&Evals.&Evals.&Values\\ \hline 3&3&2&1&2&1\\ 4&4&3&1&3&2\\ 5&6&4&1&4&3\\ \hline \end{tabular} \end{center} \end{table} \begin{figure*} \epsfysize=72mm \leavevmode \epsfbox {fig1.ps} \end{figure*} \begin{figure*} \epsfysize=72mm \leavevmode \epsfbox {fig2.ps} \end{figure*} \begin{thebibliography}{0} \bibitem{jb} Butcher, J. C. (1987) {\it The Numerical Analysis of Ordinary Differential Equations Runge-Kutta and General Linear Methods}, John Wiley \& Sons Ltd., New York \bibitem{je} Eaton, J. W. (1997) {\it GNU Octave A high-level interactive language for numerical computations}, \hfill\newline http://www.we.fh-osnabrueck.de/labsim/octave/manual/octave.html \bibitem{we} Enright, W. H. (1974) {\it Second Derivative Multistep Methods for Stiff Ordinary Differential Equations}, SIAM J. Numer. Anal., {\bf 11}, 321-331 \bibitem{cg} Gear, C. W. (1971) {\it Numerical Initial Value Problems in Ordinary Differential Equations}, Prentice-Hall, Englewood Cliffs, New Jersey \bibitem{dg} Goeken, D. and Johnson, O. (1999) {\it Runge-Kutta with Higher Order Derivative Approximations}, submitted to Applied Numerical Mathematics \bibitem{pari} PARI/GP (1999) \hfill\newline http://hasse.mathematik.tu-muenchen.de/ntsw/pari/Welcome \bibitem{red} Reduce (1999) \hfill\newline http://www.sub.uni-goettingen.de/ssgfi/math/infodata/000838.html \bibitem{hr} Rosenbrock, H. H. (1963) {\it Some General Implicit Processes for the Numerical Solution of Differential Equations}, Comp. J., {\bf 5}, 329-330 \end{thebibliography} \bigbreak \noindent{\sc David Goeken} \\ Department of Computer Science \\ The University of Houston \\ Houston, TX 77204-3475, USA \\ e-mail: dgoeken@cs.uh.edu \\ Now with the LinCom Corporation, Houston, Texas \medskip \noindent {\sc Olin Johnson} \\ Department of Computer Science \\ The University of Houston \\ Houston, TX 77204-3475, USA \\ e-mail: johnson@cs.uh.edu \end{document}