@@ -1,188 +1,188 @@ -\documentstyle[11pt,reduce]{article} -\title{{\tt FPS}\\ -A Package for the\\ -Automatic Calculation \\ -of Formal Power Series} -\date{} -\author{Wolfram Koepf\\ - ZIB Berlin \\ - Email: {\tt Koepf@ZIB-Berlin.de} -\\ -\\ - Present \REDUCE{} form by \\ - Winfried Neun \\ - ZIB Berlin \\ - Email: {\tt Neun@ZIB-Berlin.de}} -\begin{document} -\maketitle - -\section{Introduction} -This package can expand functions of certain type into -their corresponding Laurent-Puiseux series as a sum of terms of the form -\begin{displaymath} -\sum_{k=0}^{\infty} a_{k} (x-x_{0})^{m k/n + s} -\end{displaymath} -where $m$ is the `symmetry number', $s$ is the `shift number', -$n$ is the `Puiseux number', -and $x_0$ is the `point of development'. The following types are -supported: -\begin{itemize} -\item -{\bf functions of `rational type'}, which are either rational or have a -rational derivative of some order; -\item -{\bf functions of `hypergeometric type'} where $a(k+m)/a(k)$ is a rational -function for some integer $m$; -\item -{\bf functions of `explike type'} which satisfy a linear homogeneous -differential equation with constant coefficients. -\end{itemize} - -The FPS package is an implementation of the method -presented in \cite{Koepf:92}. The implementations of this package -for {\sc Maple} (by D.\ Gruntz) and {\sc Mathematica} (by W.\ Koepf) -served as guidelines for this one. - -Numerous examples can be found in \cite{Koepf:93a}--\cite{Koepf:93b}, -most of which are contained in the test file {\tt fps.tst}. Many -more examples can be found in the extensive bibliography of Hansen \cite{Han}. - - -\section{\REDUCE{} operator {\tt FPS}} -The FPS Package must be loaded first by: -\begin{verbatim} -load FPS; -\end{verbatim} -{\tt FPS(f,x,x0)} tries to find a formal power -series expansion for {\tt f} with respect to the variable {\tt x} -at the point of development {\tt x0}. -It also works for formal Laurent (negative exponents) and Puiseux series -(fractional exponents). If the third -argument is omitted, then {\tt x0:=0} is assumed. - -Examples: {\tt FPS(asin(x)\verb+^+2,x)} results in -\begin{verbatim} - - 2*k 2*k 2 2 - x *2 *factorial(k) *x -infsum(----------------------------,k,0,infinity) - factorial(2*k + 1)*(k + 1) -\end{verbatim} -{\tt FPS(sin x,x,pi)} gives -\begin{verbatim} - 2*k k - ( - pi + x) *( - 1) *( - pi + x) -infsum(------------------------------------,k,0,infinity) - factorial(2*k + 1) -\end{verbatim} -and {\tt FPS(sqrt(2-x\verb+^+2),x)} yields -\begin{verbatim} - 2*k - - x *sqrt(2)*factorial(2*k) -infsum(--------------------------------,k,0,infinity) - k 2 - 8 *factorial(k) *(2*k - 1) -\end{verbatim} -Note: The result contains one or more {\tt infsum} terms such that it does -not interfere with the {\REDUCE} operator {\tt sum}. In graphical oriented -REDUCE interfaces this operator results in the usual $\sum$ notation. - -If possible, the output is given using factorials. In some cases, the -use of the Pochhammer symbol {\tt pochhammer(a,k)}$:=a(a+1)\cdots(a+k-1)$ -is necessary. - -The operator {\tt FPS} uses the operator {\tt SimpleDE} of the next section. - -If an error message of type -\begin{verbatim} -Could not find the limit of: -\end{verbatim} -occurs, you can set the corresponding limit yourself and try a -recalculation. In the computation of {\tt FPS(atan(cot(x)),x,0)}, -REDUCE is not able to find the value for the limit -{\tt limit(atan(cot(x)),x,0)} since the {\tt atan} function is multi-valued. -One can choose the branch of {\tt atan} such that this limit equals -$\pi/2$ so that we may set -\begin{verbatim} -let limit(atan(cot(~x)),x,0)=>pi/2; -\end{verbatim} -and a recalculation of {\tt FPS(atan(cot(x)),x,0)} -yields the output {\tt pi - 2*x} which is -the correct local series representation. - -\section{\REDUCE{} operator {\tt SimpleDE}} - -{\tt SimpleDE(f,x)} tries to find a homogeneous linear differential -equation with polynomial coefficients for $f$ with respect to $x$. -Make sure that $y$ is not a used variable. -The setting {\tt factor df;} is recommended to receive a nicer output form. - -Examples: {\tt SimpleDE(asin(x)\verb+^+2,x)} then results in -\begin{verbatim} - 2 -df(y,x,3)*(x - 1) + 3*df(y,x,2)*x + df(y,x) -\end{verbatim} -{\tt SimpleDE(exp(x\verb+^+(1/3)),x)} gives -\begin{verbatim} - 2 -27*df(y,x,3)*x + 54*df(y,x,2)*x + 6*df(y,x) - y -\end{verbatim} -and {\tt SimpleDE(sqrt(2-x\verb+^+2),x)} yields -\begin{verbatim} - 2 -df(y,x)*(x - 2) - x*y -\end{verbatim} -The depth for the search of a differential equation for {\tt f} is -controlled by the variable {\tt fps\verb+_+search\verb+_+depth}; -higher values for {\tt fps\verb+_+search\verb+_+depth} -will increase the chance to find the solution, but increases the -complexity as well. The default value for {\tt fps\verb+_+search\verb+_+depth} -is 5. For {\tt FPS(sin(x\verb+^+(1/3)),x)}, or -{\tt SimpleDE(sin(x\verb+^+(1/3)),x)} e.\ g., a setting -{\tt fps\verb+_+search\verb+_+depth:=6} is necessary. - -The output of the FPS package can be influenced by the -switch {\tt tracefps}. Setting {\tt on tracefps} causes various -prints of intermediate results. - -\section{Problems in the current version} -The handling of logarithmic singularities is not yet implemented. - -The rational type implementation is not yet complete. - -The support of special functions \cite{Koepf:94} -will be part of the next version. - -\begin{thebibliography}{9} - -\bibitem{Han} -E.\ R. Hansen, {\em A table of series and products.} -Prentice-Hall, Englewood Cliffs, NJ, 1975. - -\bibitem{Koepf:92} Wolfram Koepf, -{\em Power Series in Computer Algebra}, -J.\ Symbolic Computation 13 (1992) - -\bibitem{Koepf:93a} Wolfram Koepf, -{\em Examples for the Algorithmic Calculation of Formal -Puiseux, Laurent and Power series}, -SIGSAM Bulletin 27, 1993, 20-32. - -\bibitem{Koepf:93b} Wolfram Koepf, -{\em Algorithmic development of power series.} In: -Artificial intelligence and symbolic mathematical computing, -ed.\ by J.\ Calmet and J.\ A.\ Campbell, -International Conference AISMC-1, Karlsruhe, Germany, August 1992, Proceedings, -Lecture Notes in Computer Science {\bf 737}, Springer-Verlag, -Berlin--Heidelberg, 1993, 195--213. - -\bibitem{Koepf:94} Wolfram Koepf, -{\em Algorithmic work with orthogonal polynomials and special functions.} -Konrad-Zuse-Zentrum Berlin (ZIB), Preprint SC 94-5, 1994. - -\end{thebibliography} - -\end{document} - - - +\documentstyle[11pt,reduce]{article} +\title{{\tt FPS}\\ +A Package for the\\ +Automatic Calculation \\ +of Formal Power Series} +\date{} +\author{Wolfram Koepf\\ + ZIB Berlin \\ + Email: {\tt Koepf@ZIB-Berlin.de} +\\ +\\ + Present \REDUCE{} form by \\ + Winfried Neun \\ + ZIB Berlin \\ + Email: {\tt Neun@ZIB-Berlin.de}} +\begin{document} +\maketitle + +\section{Introduction} +This package can expand functions of certain type into +their corresponding Laurent-Puiseux series as a sum of terms of the form +\begin{displaymath} +\sum_{k=0}^{\infty} a_{k} (x-x_{0})^{m k/n + s} +\end{displaymath} +where $m$ is the `symmetry number', $s$ is the `shift number', +$n$ is the `Puiseux number', +and $x_0$ is the `point of development'. The following types are +supported: +\begin{itemize} +\item +{\bf functions of `rational type'}, which are either rational or have a +rational derivative of some order; +\item +{\bf functions of `hypergeometric type'} where $a(k+m)/a(k)$ is a rational +function for some integer $m$; +\item +{\bf functions of `explike type'} which satisfy a linear homogeneous +differential equation with constant coefficients. +\end{itemize} + +The FPS package is an implementation of the method +presented in \cite{Koepf:92}. The implementations of this package +for {\sc Maple} (by D.\ Gruntz) and {\sc Mathematica} (by W.\ Koepf) +served as guidelines for this one. + +Numerous examples can be found in \cite{Koepf:93a}--\cite{Koepf:93b}, +most of which are contained in the test file {\tt fps.tst}. Many +more examples can be found in the extensive bibliography of Hansen \cite{Han}. + + +\section{\REDUCE{} operator {\tt FPS}} +The FPS Package must be loaded first by: +\begin{verbatim} +load FPS; +\end{verbatim} +{\tt FPS(f,x,x0)} tries to find a formal power +series expansion for {\tt f} with respect to the variable {\tt x} +at the point of development {\tt x0}. +It also works for formal Laurent (negative exponents) and Puiseux series +(fractional exponents). If the third +argument is omitted, then {\tt x0:=0} is assumed. + +Examples: {\tt FPS(asin(x)\verb+^+2,x)} results in +\begin{verbatim} + + 2*k 2*k 2 2 + x *2 *factorial(k) *x +infsum(----------------------------,k,0,infinity) + factorial(2*k + 1)*(k + 1) +\end{verbatim} +{\tt FPS(sin x,x,pi)} gives +\begin{verbatim} + 2*k k + ( - pi + x) *( - 1) *( - pi + x) +infsum(------------------------------------,k,0,infinity) + factorial(2*k + 1) +\end{verbatim} +and {\tt FPS(sqrt(2-x\verb+^+2),x)} yields +\begin{verbatim} + 2*k + - x *sqrt(2)*factorial(2*k) +infsum(--------------------------------,k,0,infinity) + k 2 + 8 *factorial(k) *(2*k - 1) +\end{verbatim} +Note: The result contains one or more {\tt infsum} terms such that it does +not interfere with the {\REDUCE} operator {\tt sum}. In graphical oriented +REDUCE interfaces this operator results in the usual $\sum$ notation. + +If possible, the output is given using factorials. In some cases, the +use of the Pochhammer symbol {\tt pochhammer(a,k)}$:=a(a+1)\cdots(a+k-1)$ +is necessary. + +The operator {\tt FPS} uses the operator {\tt SimpleDE} of the next section. + +If an error message of type +\begin{verbatim} +Could not find the limit of: +\end{verbatim} +occurs, you can set the corresponding limit yourself and try a +recalculation. In the computation of {\tt FPS(atan(cot(x)),x,0)}, +REDUCE is not able to find the value for the limit +{\tt limit(atan(cot(x)),x,0)} since the {\tt atan} function is multi-valued. +One can choose the branch of {\tt atan} such that this limit equals +$\pi/2$ so that we may set +\begin{verbatim} +let limit(atan(cot(~x)),x,0)=>pi/2; +\end{verbatim} +and a recalculation of {\tt FPS(atan(cot(x)),x,0)} +yields the output {\tt pi - 2*x} which is +the correct local series representation. + +\section{\REDUCE{} operator {\tt SimpleDE}} + +{\tt SimpleDE(f,x)} tries to find a homogeneous linear differential +equation with polynomial coefficients for $f$ with respect to $x$. +Make sure that $y$ is not a used variable. +The setting {\tt factor df;} is recommended to receive a nicer output form. + +Examples: {\tt SimpleDE(asin(x)\verb+^+2,x)} then results in +\begin{verbatim} + 2 +df(y,x,3)*(x - 1) + 3*df(y,x,2)*x + df(y,x) +\end{verbatim} +{\tt SimpleDE(exp(x\verb+^+(1/3)),x)} gives +\begin{verbatim} + 2 +27*df(y,x,3)*x + 54*df(y,x,2)*x + 6*df(y,x) - y +\end{verbatim} +and {\tt SimpleDE(sqrt(2-x\verb+^+2),x)} yields +\begin{verbatim} + 2 +df(y,x)*(x - 2) - x*y +\end{verbatim} +The depth for the search of a differential equation for {\tt f} is +controlled by the variable {\tt fps\verb+_+search\verb+_+depth}; +higher values for {\tt fps\verb+_+search\verb+_+depth} +will increase the chance to find the solution, but increases the +complexity as well. The default value for {\tt fps\verb+_+search\verb+_+depth} +is 5. For {\tt FPS(sin(x\verb+^+(1/3)),x)}, or +{\tt SimpleDE(sin(x\verb+^+(1/3)),x)} e.\ g., a setting +{\tt fps\verb+_+search\verb+_+depth:=6} is necessary. + +The output of the FPS package can be influenced by the +switch {\tt tracefps}. Setting {\tt on tracefps} causes various +prints of intermediate results. + +\section{Problems in the current version} +The handling of logarithmic singularities is not yet implemented. + +The rational type implementation is not yet complete. + +The support of special functions \cite{Koepf:94} +will be part of the next version. + +\begin{thebibliography}{9} + +\bibitem{Han} +E.\ R. Hansen, {\em A table of series and products.} +Prentice-Hall, Englewood Cliffs, NJ, 1975. + +\bibitem{Koepf:92} Wolfram Koepf, +{\em Power Series in Computer Algebra}, +J.\ Symbolic Computation 13 (1992) + +\bibitem{Koepf:93a} Wolfram Koepf, +{\em Examples for the Algorithmic Calculation of Formal +Puiseux, Laurent and Power series}, +SIGSAM Bulletin 27, 1993, 20-32. + +\bibitem{Koepf:93b} Wolfram Koepf, +{\em Algorithmic development of power series.} In: +Artificial intelligence and symbolic mathematical computing, +ed.\ by J.\ Calmet and J.\ A.\ Campbell, +International Conference AISMC-1, Karlsruhe, Germany, August 1992, Proceedings, +Lecture Notes in Computer Science {\bf 737}, Springer-Verlag, +Berlin--Heidelberg, 1993, 195--213. + +\bibitem{Koepf:94} Wolfram Koepf, +{\em Algorithmic work with orthogonal polynomials and special functions.} +Konrad-Zuse-Zentrum Berlin (ZIB), Preprint SC 94-5, 1994. + +\end{thebibliography} + +\end{document} + + +