Artifact 0a2a25f58383d9bb8e4645ccaec318763e3c4bdd23d03c037810a6f6cc2e5a69:
- Executable file
r37/packages/specfn/fps.tex
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 6585) [annotate] [blame] [check-ins using] [more...]
- Executable file
r38/packages/specfn/fps.tex
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 6585) [annotate] [blame] [check-ins using]
\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.de} \\ \\ Present \REDUCE{} form by \\ Winfried Neun \\ ZIB Berlin \\ Email: {\tt Neun@ZIB.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}